<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/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:stpr="http://xbrl.sec.gov/stpr/2021"
  xmlns:tndm="http://www.tandemdiabetes.com/20211231"
  xmlns:us-gaap="http://fasb.org/us-gaap/2021-01-31"
  xmlns:utr="http://www.xbrl.org/2009/utr"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xhtml="http://www.w3.org/1999/xhtml"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="tndm-20211231.xsd" xlink:type="simple"/>
    <context id="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i73f6f2ab90c34139a002a1924746700f_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="i98b4ef5e4c904450b460ed3b7e9ebfdc_I20220217">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
        </entity>
        <period>
            <instant>2022-02-17</instant>
        </period>
    </context>
    <context id="i1d200d54d781439eb4d2314fac654b98_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i652278129baf4b4eab84d254b32e23f4_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ia80bc5e755874a2f96fd4367499e99e0_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="iacf9ef0f27d44e6bba651d4fff2e0b33_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="idd079d65d7f24c12874181e9a57ba653_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="ifa4ca3ecd2304eafa005a7626ea5b9f2_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="i1be26f57e9264ee580a0723df09ac283_I20181231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
        </entity>
        <period>
            <instant>2018-12-31</instant>
        </period>
    </context>
    <context id="ieab0fc9f86b54fa69757a339a0d2aa20_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ib3e93e8be3394459b2936741f0c38147_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ia8526860b9ca4df59fd2588db3de2d91_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i3b6e704f49c5419c98f0da09784dac63_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i566801de9c9346d29e72980e1d35f835_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="ic88b47f4a2c545d5b608c9a9ef7aa748_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="i41d8ee3e134a4100966e7bd668e4e199_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="i0ce88def5b1c4828b9085eba561e98d7_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="ia35d79f7a8cd4f3e92d3a94270701280_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i3638078c653d440592fd86d7ed70f018_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="i122dd0fc739d470caacfc05babb89ff6_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="ifaa16f829f584ddd9d6401c80da1fad2_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="i5cd4f860afa149f5bf8eb8ea3775a05d_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="idf551e3753ab435eb86a76e4023deaac_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="i9e026c5f4f7e41e895c1870b973c7c67_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="i1a6d6e2abf9a49fa9b795a45262579de_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="i6ddbe2433b2d40a5bb6c496384d2f198_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="i23550a17b4a24bdeb3f82e2f24666728_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i289283dd2ae844ce90b0bfe36ae310ef_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ia08b5231fdb74e7fb6bc24eff09a90d7_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ie40c79451cdf45598c86826914a49d42_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="i87d4cf447e144904802d7df3a5567bbe_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="i01d28fbf55f840f8a6d25748d825df67_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="i2c0fecb789a948918b49e67cb90d6d92_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="ieba006e05dce4151b12844723fe96c22_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="ia2de17810cdc4398bf000589129da999_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="i8235229b76ef4db29e85557d92f164ef_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="i2c021cf12f1e400982abb02295ec4bcc_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="i90372413af3a4445a6dc6dffdf4edd93_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tndm:InsulinPumpMember</xbrldi:explicitMember>
                <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="i9437faa182e24b51bc4b26a14179ec77_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tndm: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>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ida2f1a2648b74140984062feeef30343_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tndm: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="i4031f0ceae794a21b64dc76577edbb23_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tndm: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="ia735487e5dbe4b86930fce621a5b2ef2_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tndm:CustomerBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</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="iae78fd5c85624134b164ddf02a6b9f2a_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tndm:CustomerBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</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="i47f799733a9942f0be5b3cdbe19539aa_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tndm:CustomerBMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="id18b96bb9c844ab6a100e4aa0078ae81_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tndm:CustomerCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</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="i5423e30bbf204ac09d695c373a1e3a58_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tndm:CustomerCMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="id1aabc2ab6364a25b5053274ea1af356_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tndm:ConvertibleSeniorNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i1a6ec2c56e93409184739f474b10e09a_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tndm:ConvertibleSeniorNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i54818effce584fa99947d198058982f8_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="i720b495542864ababdcca12cb55c2db9_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="i0fc200cf732545b59c891665456427be_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i0a3d51dc2b764bcea853adc00104c231_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="iff27d9ecf4ad4c1a86b60dbf2840dc88_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tndm:InsulinPumpMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i95ea7791af2042c38f9c3caedef55acc_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="iea0a47646208461d8deb761344fcaab5_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i90c1885bc32e48c8869b211df4bcc04f_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tndm:SlimCartridgesAndInfusionSetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i1f32d8fe398e409f8655d31724f61fff_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="ia864cc9668fc44408c0b2c3ced680d75_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="ib1f1ff303e8c40f88385c5444909e279_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i69b3fd32ca714a69ab37d19949a76f48_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="i0bb10a37fc3b4efabda97a3cebd4b074_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="i971650d625ac48c88ec8948f7c11c1f8_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i4376d603dcfb4edcaec231eb761cb737_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="i011a59fdaa94430295f721e04c29851e_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="i1f3e5e76a20645a3b6c1abcee129e94d_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i62a1d94723384b3e8fcb062f9ba18930_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i891a11c83305450d946c3e9d92df3b3a_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i34ca3f114c044ee6aaeb9471e171919e_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i7edf3102210d40e48f4bb21a8199c44c_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="iaeebef4aadcd46bbacb2c55ac413ce14_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ic85e6d6822e5443389415da024bbe8ae_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:ConvertibleDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i3f98c5ff39b94f7e8e4b0824bffa7268_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:ConvertibleDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="id4a16a7ddac24935b1b582ac9d96b310_I20210101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:CumulativeEffectPeriodOfAdoptionAxis">srt:CumulativeEffectPeriodOfAdoptionAdjustmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate202006Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-01-01</instant>
        </period>
    </context>
    <context id="if72bd725d9bf470983521333450be103_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i071eaf7c462e46bd818157a77e9877b5_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ic718a28f685c4136aac17a24bffaebf7_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ie78d9d33498647c19cb9568acb08c2c4_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentSponsoredEnterprisesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ie3773c44b6b74265945f340cc5c3bc45_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">tndm:SupranationalBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i9684536d401940c3b1e3e9503d96bafd_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i325784a7a58b42e7a3b41892cc591fdf_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ifda78cadf8ed4bc18b855add1e13e78e_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ibc1e3e631dbb411ea73e9c0928f66376_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentSponsoredEnterprisesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i6d7171a2a2184b08908a38d6b7b7be8a_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="i7f8e2bd926554e1c8098d01fabf1793a_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="id2459b17946e4804a0459c899a133c34_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="i297f46b87b4d4b0ab689d59886144d1a_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="i91789d26ac354ce5996d3ceb6853ad88_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i4d5405ad7926449a8e44f3df6cae1b44_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i44aadb55fc53421a9daebb9b90f7627e_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ManufacturingFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i9b8c06fa7d224158aa63a2e4478d4e3f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ManufacturingFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ie180c5adc0ba466984cfd55a2c17155e_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ifefdb5ef5fed4c7290c8f9a7eaa19fe4_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ifc6d39da25e544c2974fee2ae97d7ce0_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i8ad3a25f51bf41279f84f0c7520846b3_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i5319d1daea544de3a8d614bc5eb0399c_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i7fa5a61460da485db1a14b94aae25a65_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i8700b98bac3a4580a138e9eb13430f39_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="id1da3bce544748acb133c949ce363b25_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i4584d1f2bb8c4cc794c4e0edc815fb0b_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i5e8b713a4fcc4a228d339fa4feb11d75_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ic1f41dc683a24729b3da90e6b6620334_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i1fcbf5a8165d476b90d5ffd50f2c53fe_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i37b8e684f42545439cf28d1ada3f67dd_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i0877adaf03cb4977a9f09880a7fbf922_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ide8c3c35183540d49a16e3818c6b83db_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ia8f106822dac4c8ab4fa8f4588fc2130_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i059b35dc924e45c28efd0217db513491_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="if13a3879a0a04ef594924e9a69fc0081_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i294958ebf4e347a887bcec885fe2324b_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i3333f7cb53824e2493f285006c5e86db_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i2eff6547cab74994b434eea8f5f03ae1_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ia087f4b54fe04092b5bc6702a9dd7773_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i3c0ef67f1eee4afca767e96f0aa30b0f_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">tndm:SupranationalBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ief0a7af562e442b2a349aa8d27cfb1b5_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">tndm:SupranationalBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i806fa75991224e698802df9ae7a8bd9f_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">tndm:SupranationalBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ibb7ce8e81e7a44aaa5bfc4dda9f9f730_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">tndm:SupranationalBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i1306dfc8cce24a98b8d8e4845786346a_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i006d213e7d3e4b16aa5b4df052bd5bb7_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ic1f3d6229e6e41a380dfcfbfd430c87e_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ia23a053b024f4ca5931a9c1ba72b81d6_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i63dbfca7c30a4caca67eed7a90191324_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i0a5b59b74aff43f786584243969a5110_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="iddc1fe0c9834478ab590577959a70287_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i9d0575a5aa1b4025ae9e9ef4aa1e116d_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i2b1f29b445cd431b86372d24db572a21_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ic7556cba894341069ab9cc28100d5bdc_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i0bafa7b02c944c9ba4213f32a625b60d_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i4ea2f582555a473aada73aa76a69282d_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i18b8d05ac4b840b89aac207b80e28cdc_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i6e57507ef1cf4729a72d8be6688fbbd8_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i02fe4df9d4174f94b6de61adb1ecbaff_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ib1b77c9e24c94035a0ddb830017809db_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ic491c1017f474f2cb44cd9123b6173e4_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i4a503d6b64ba44a3b12a498660751636_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ia62d5313e49641f986b444755b56fa51_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i68106d90729346719ba08b9384bf17e8_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USGovernmentAgenciesDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ie715c92cc4614f1b8870acd380c316be_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i83d5addf8b0341ff96a46ddca99980b1_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="icad266c1616642a3ad2233488d00fd78_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i829f19874a2f4262aa7637bcd336062f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i76147e6a319e44b9b617ed77d293e62d_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="icb094e3cc5394c2f8396d3f9354a61e8_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i3fdaa62facd44ebebbfcf3ca34c2696c_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ib6ae83e55cde472c9dc69cb92619bd18_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByMeasurementFrequencyAxis">us-gaap:FairValueMeasurementsRecurringMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ie372881c9b5c41dfa02948e984ae1267_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">tndm:CommonStockWarrantExpiringOctober2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="id36ac0db888f41cbabafad2f45524adf_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">tndm:CommonStockWarrantExpiringOctober2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i6f142755f0884c459b9966a0fd50dcdd_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">tndm:CommonStockWarrantExpiringOctober2022Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputRiskFreeInterestRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i93c6d68c836b4eb597d8f258ed4a4272_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">tndm:CommonStockWarrantExpiringOctober2022Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputRiskFreeInterestRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i420b81525c1e4cecb28aadfc640c2880_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">tndm:CommonStockWarrantExpiringOctober2022Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputExpectedDividendRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i01f212774dd74289ae76228fb2d28b76_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">tndm:CommonStockWarrantExpiringOctober2022Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputExpectedDividendRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ic1ed658ede904de9b639a930ce7cd040_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">tndm:CommonStockWarrantExpiringOctober2022Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputPriceVolatilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i78ce0871eb214a60800826e2a36504e4_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">tndm:CommonStockWarrantExpiringOctober2022Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputPriceVolatilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i97939e6c07944873be51c8b001594e1b_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">tndm:CommonStockWarrantExpiringOctober2022Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputExpectedTermMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i6bfed45a49d14836a5aabac92e78740e_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">tndm:CommonStockWarrantExpiringOctober2022Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputExpectedTermMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i145f08fae9af4fcdb49d49e5f99cd5c8_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">tndm:CommonStockWarrantExpiringOctober2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i2a2c7443d1504a17a631736041106994_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">tndm:CommonStockWarrantExpiringOctober2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i3af4b2ebe3d14b5382fbe1065423d605_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i254605fd78ee4ee28051741850e7bc4a_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="if4f754dce77b49a99b52f21393ddf22f_I20191130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">tndm:ShorelineDriveBoiseIdahoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-11-30</instant>
        </period>
    </context>
    <context id="i656bd80adecc4b2f949e64e9385b6618_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">tndm:ShorelineDriveBoiseIdahoMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="ic92d31db77dd41e3899208d2c10175a7_I20200131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">tndm:HighBluffDriveSanDiegoCaliforniaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-01-31</instant>
        </period>
    </context>
    <context id="i4a1ab39f87de423dadad9d80b9dbaafa_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">tndm:HighBluffDriveSanDiegoCaliforniaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i31c38ba54ff1409fa99d0eeddb6c4a81_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="ic552a261cc3c4839a1d972876e807c3b_I20200930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">tndm:RoselleStreetSanDiegoCaliforniaMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-09-30</instant>
        </period>
    </context>
    <context id="i97f2a766e9ce4dd5821721e8652dd7c8_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">tndm:VistaSorrentoParkwayLeaseExistingPremisesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i16c1cebf0b9045efb7256e06c854cfb3_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">tndm:VistaSorrentoParkwayLeaseExpansionSpaceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i605de76edb9148aaad9be54e94940e6c_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">tndm:VistaSorrentoParkwayLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="icaec32e8a40e4cc3a89d8839d8e53683_I20210531">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">tndm:HighBluffDriveLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-05-31</instant>
        </period>
    </context>
    <context id="ied0418f573dc43589c3f1e4b469fb592_I20220630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">tndm:HighBluffDriveLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-06-30</instant>
        </period>
    </context>
    <context id="i143315b634ec4c618dfb9ef98e0be908_I20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">tndm:TechCenterLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="i90c3e35dfbb04ec8a3ed03ea47d32b2b_I20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">tndm:TechCenterLeasePhaseIMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="ia9d1b2e6d20e435392ad7fc1d97008a0_I20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">tndm:TechCenterLeasePhaseIIMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-09-30</instant>
        </period>
    </context>
    <context id="i713975d2d2924caf89342acc4ad37a5d_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">tndm:TechCenterLeasePhaseIMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i469150eb29e74b3bbdc68176e0382db3_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">tndm:TechCenterLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i2c4ed2bfae0a4f0fa3a83c4332ebdb6f_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">tndm:TechCenterLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i12e7c49af7b34893878c1323535493f4_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">tndm:TechCenterLeaseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="tndm:PhaseAxis">tndm:Phase2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ie35171817a404dd2b853e0013dda010a_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">tndm:TechCenterLeasePhaseIMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="id2be02bc808448a69ff46f180492e1cb_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">tndm:TechCenterLeasePhaseIIMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i321b9488e10c4ea5bc2d94b28e7037ac_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">tndm:HighBluffDriveLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i0b3bdde2b9c24c3abf37c8e1d566f6ad_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LeaseContractualTermAxis">tndm:HighBluffDriveAndTechCenterLeaseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="iee0b46805dcf4ba2b056ed89d983da6d_I20200531">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tndm:ConvertibleSeniorNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-05-31</instant>
        </period>
    </context>
    <context id="ic7ebbdecda8a4ef88bca8da80797f3ab_D20200501-20200531">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tndm:ConvertibleSeniorNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-05-01</startDate>
            <endDate>2020-05-31</endDate>
        </period>
    </context>
    <context id="ic7f2889d0cde4ab48184f8b42eeef737_D20200501-20200531">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tndm:ConvertibleSeniorNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-05-01</startDate>
            <endDate>2020-05-31</endDate>
        </period>
    </context>
    <context id="ida8e54184f1a4ae48cb6bbb2868cad99_D20200501-20200531">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtConversionByUniqueDescriptionAxis">tndm:ConversionInstance130Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tndm:ConvertibleSeniorNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-05-01</startDate>
            <endDate>2020-05-31</endDate>
        </period>
    </context>
    <context id="ia6ed7a39def34a128ec52adc97261a1b_D20200501-20200531">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtConversionByUniqueDescriptionAxis">tndm:ConversionInstance130Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tndm:ConvertibleSeniorNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-05-01</startDate>
            <endDate>2020-05-31</endDate>
        </period>
    </context>
    <context id="ic2a92661fa074548809d8bddeb5abf25_D20200501-20200531">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtConversionByUniqueDescriptionAxis">tndm:ConversionInstance98Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tndm:ConvertibleSeniorNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-05-01</startDate>
            <endDate>2020-05-31</endDate>
        </period>
    </context>
    <context id="i42a9e225a21b452397cd8e7d1d2d3338_D20200501-20200531">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtConversionByUniqueDescriptionAxis">tndm:ConversionInstance98Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tndm:ConvertibleSeniorNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-05-01</startDate>
            <endDate>2020-05-31</endDate>
        </period>
    </context>
    <context id="i693906f263f447eb9f7f81488d320013_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tndm:ConvertibleSeniorNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="id48a300342f64702ab63cd5199dadf97_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tndm:ConvertibleSeniorNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i2cb807e6b68049ab959fcbc7ca2dee59_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tndm:ConvertibleSeniorNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i5523fbff9bb34669b0a34fde4d749c87_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tndm:ConvertibleSeniorNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ic993c1c4aebe4c5baa5403723faaf2e7_D20211001-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tndm:ConvertibleSeniorNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-10-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i6a5c9e7efc104b01bc03933f8c66203a_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tndm:ConvertibleSeniorNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i731bcf999e5545b289410f478e862a46_I20200531">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tndm:ConvertibleSeniorNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-05-31</instant>
        </period>
    </context>
    <context id="if59be7a9d92545f88dd5de47ce2d650d_I20200531">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tndm:ConvertibleSeniorNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-05-31</instant>
        </period>
    </context>
    <context id="if74128e6b6f648739c79be9a48a0b375_I20200512">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tndm:ConvertibleSeniorNotesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:ConvertibleDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-05-12</instant>
        </period>
    </context>
    <context id="i7d4f3970610a4e91928e18b210915d37_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:ConvertibleDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i9c0f74a89f604867b3b3a468bec183f5_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i5f0336aa95664a2abb85dc9ea1fed964_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">tndm:StockOptionsIssuedAndOutstandingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i49dfd743b55f4b8f956e8093ae9da92e_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i2236fdb9af5c4bcfac6b73b4d9704e05_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i1679548049cc4d9d8de09ac622fcfd75_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">tndm:AuthorizedForFutureOptionGrantsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i57874bf24ea84df4959a5fc3b14cafd4_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">tndm:CommonStockWarrantExpiringMarch2027Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i1fede682302744c687f5a127053532ca_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ClassOfWarrantOrRightAxis">tndm:CommonStockWarrantExpiringBetweenMarch2022AndAugust2022Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i3d85242042ae434d9c6e80ae80635ab8_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i89790acbdb1a455d9fb08c021e373e56_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ib155424e104c44d7b6808e8691e19cc5_I20190630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">tndm:TwoThousandThirteenStockIncentivePlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-06-30</instant>
        </period>
    </context>
    <context id="i1f98a16d9f514cf6869c9ab41e3e82d6_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="i0413ddc2b292499f88fe0fec760fdee9_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="i103d6943bb0d4138a3b3e5800ea7cf59_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tndm:TwoThousandThirteenPlanMember</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="i3e27e390d410435ca3065cee5ed649b6_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tndm:TwoThousandThirteenPlanMember</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="i1854c2f8fd364b7181f46b3333131c2b_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tndm:TwoThousandThirteenPlanMember</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="ie2803a87cffb47f79787ea218d36df6d_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:PerformanceSharesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ic9e9ea941b934a76867dacf7bb27080e_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="if8ccac5397484c8189b47ea5ab7848b3_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="ifac844515a1e43b988062397cc8d2c97_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="i7775aa99d0fa4ca48ef2ed39721a0dbe_I20131031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2013-10-31</instant>
        </period>
    </context>
    <context id="i53218e7ac5f047fea6435317c0bf79d8_D20131001-20131031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">tndm:DateOfOfferingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2013-10-01</startDate>
            <endDate>2013-10-31</endDate>
        </period>
    </context>
    <context id="iea390573a7e147e3839f269a13b4c831_D20131001-20131031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardDateAxis">tndm:DateOfPurchaseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2013-10-01</startDate>
            <endDate>2013-10-31</endDate>
        </period>
    </context>
    <context id="if6f58a6718a345c6b18d4837d80f5987_D20131001-20131031">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2013-10-01</startDate>
            <endDate>2013-10-31</endDate>
        </period>
    </context>
    <context id="ia3d7663d7ea24730a3e9d85bd7913813_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i6658da36425f4a968900a4a607e46e91_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i5836353a5f9d482082c349df05afc718_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i441e3a25ffb44f919b9dd51543a9082a_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ie0d63b9ca9864e89840196175dd6f66f_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i39b9f33b90854f929e84e83ee6a24b7e_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i27b9513c8aba4b3a968fb7ea8cfe404e_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i557e0a2e0ffa478f814850c5282c8ad9_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i5bb0415201584f28819e0b0413f69b97_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="i80be8df84e224bcaa185eeb94b4e2579_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="i0d7517e6bf3a4200b6c800b1c46a076b_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="if49650d2c7c3479f9639bb248aed2d28_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i1d4852b8fcc5456f85f7136f532a6c94_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="if92fc2d5b7d44c36a596ec8b692ec222_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="iee3197ac48c5483fbead272093a1a9aa_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsidiarySaleOfStockAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i0012558cde5f416aab7c4d729f07df76_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="i15a26c41258943a9828806e74ff24d14_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ie40fc4f16f2d4040b73e8b855e182f63_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">stpr:CA</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-12-31</instant>
        </period>
    </context>
    <context id="ia1cb96982dea4482bf8b1d64da85f12c_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="i103be8e753d84cd8bcd3eb872875be7f_I20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">stpr:CA</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="ie618dc7242c544dea5d02499f59bd767_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="if16689b1c5d44115a4d1baa2e69ee5a9_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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="i6638855c80f84f7b8934ba23ca78dba2_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="ie137a656730140379f1352e8a73b8a68_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i03eb98d71ee34ee38f7a45030f208a21_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i60f1a973f1f542a28a8f756f87ff4ffa_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i2fea7573c1144a788e3f202ca8693bb7_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i24403860aada427ca4fa7c702ee57621_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="idb43b6931b7e46788747721b81c755ce_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</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:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="i36c7834678d547b4839e9cf2511bc55c_D20210101-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</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="i46d424c0374346e7b0363d4c6ceb7974_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</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="i2bc5dde336ba497a9a4e3ec19e07c23c_D20190101-20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</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>2019-01-01</startDate>
            <endDate>2019-12-31</endDate>
        </period>
    </context>
    <context id="idddf99ba980447d4adb6d362adcf9969_D20200401-20200430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-04-30</endDate>
        </period>
    </context>
    <context id="ie8a5e7aaf14a42fc88cf2ef1adc2d4e3_D20200501-20200531">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
        </entity>
        <period>
            <startDate>2020-05-01</startDate>
            <endDate>2020-05-31</endDate>
        </period>
    </context>
    <context id="i15ce588f1492415ab066b2a0d893e90c_D20210329-20210329">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
        </entity>
        <period>
            <startDate>2021-03-29</startDate>
            <endDate>2021-03-29</endDate>
        </period>
    </context>
    <context id="idfd36d5aae4d410b8080d6edac771e5c_D20211001-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
        </entity>
        <period>
            <startDate>2021-10-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i7139d2468aad49d9866ee934220416af_D20201001-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
        </entity>
        <period>
            <startDate>2020-10-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="ib1278a4709b749c39aae6d8d5aa136f5_D20211001-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-10-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="i91e69c6214ef432f91cc63a2469e8961_D20201001-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-10-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i484746ae792046be9c77365a796559d1_D20211001-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-10-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ida88a271e59543ceb26e7b9ec2be8b00_D20201001-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-10-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i597bb7bb35a84a8ab05d9266d2225b96_D20211001-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-10-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="id8fba563c2594b4e9f2dd0c801ea4a8a_D20201001-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:WarrantMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-10-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i72a9b09d92fd49a0935e0ea3b81ec3b3_D20211001-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-10-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ie718847de5b041dc8adda0e5e180f0ca_D20201001-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-10-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="if069810754e2498289b569897bd31e2d_D20211001-20211231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:ConvertibleDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-10-01</startDate>
            <endDate>2021-12-31</endDate>
        </period>
    </context>
    <context id="ibf4c3b2ba931412e98c3fdeac8734e07_D20201001-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001438133</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:ConvertibleDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-10-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <unit id="usd">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <unit id="usdPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="number">
        <measure>pure</measure>
    </unit>
    <unit id="sqft">
        <measure>utr:sqft</measure>
    </unit>
    <unit id="extension">
        <measure>tndm:extension</measure>
    </unit>
    <unit id="building">
        <measure>tndm:building</measure>
    </unit>
    <unit id="segment">
        <measure>tndm:segment</measure>
    </unit>
    <unit id="trading_day">
        <measure>tndm:trading_day</measure>
    </unit>
    <unit id="purchase_period">
        <measure>tndm:purchase_period</measure>
    </unit>
    <unit id="lawsuit">
        <measure>tndm:lawsuit</measure>
    </unit>
    <unit id="plaintiff">
        <measure>tndm:Plaintiff</measure>
    </unit>
    <unit id="legal_matter">
        <measure>tndm:legal_matter</measure>
    </unit>
    <dei:AmendmentFlag
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV80L2ZyYWc6ZWZkMWJmOGM4OTg0NDZlMDkxNmJmNTM0MDk0NDY4YjcvdGFibGU6NmU3NzRlZjFhMzg3NDVhMjkwMTUxN2FjM2RjNTk5ZjgvdGFibGVyYW5nZTo2ZTc3NGVmMWEzODc0NWEyOTAxNTE3YWMzZGM1OTlmOF8yLTEtMS0xLTUzODMw_2376ce38-8f57-4b92-b365-535474ca7323">false</dei:AmendmentFlag>
    <dei:DocumentFiscalYearFocus
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV80L2ZyYWc6ZWZkMWJmOGM4OTg0NDZlMDkxNmJmNTM0MDk0NDY4YjcvdGFibGU6NmU3NzRlZjFhMzg3NDVhMjkwMTUxN2FjM2RjNTk5ZjgvdGFibGVyYW5nZTo2ZTc3NGVmMWEzODc0NWEyOTAxNTE3YWMzZGM1OTlmOF8zLTEtMS0xLTUzODMw_e8d088c0-12e7-49ce-8249-9c5b4560726f">2021</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV80L2ZyYWc6ZWZkMWJmOGM4OTg0NDZlMDkxNmJmNTM0MDk0NDY4YjcvdGFibGU6NmU3NzRlZjFhMzg3NDVhMjkwMTUxN2FjM2RjNTk5ZjgvdGFibGVyYW5nZTo2ZTc3NGVmMWEzODc0NWEyOTAxNTE3YWMzZGM1OTlmOF80LTEtMS0xLTUzODMw_a05c158f-d631-4d1f-b07b-0d6544df7d36">FY</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV80L2ZyYWc6ZWZkMWJmOGM4OTg0NDZlMDkxNmJmNTM0MDk0NDY4YjcvdGFibGU6NmU3NzRlZjFhMzg3NDVhMjkwMTUxN2FjM2RjNTk5ZjgvdGFibGVyYW5nZTo2ZTc3NGVmMWEzODc0NWEyOTAxNTE3YWMzZGM1OTlmOF81LTEtMS0xLTUzODMw_bf7616d4-2b7a-408a-bcf3-81f2b8255abc">0001438133</dei:EntityCentralIndexKey>
    <us-gaap:AccountingStandardsUpdateExtensibleList
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQxLTAtMS0xLTYyNjc4_f5342e2f-c7a3-43e2-94a6-9cc90f6e72e6">http://fasb.org/us-gaap/2021-01-31#AccountingStandardsUpdate202006Member</us-gaap:AccountingStandardsUpdateExtensibleList>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i54818effce584fa99947d198058982f8_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODYxL2ZyYWc6NjQ4NzE1YWU3NjdmNDc4YWFlNGQwZTc2ZmIwNmM1NjAvdGV4dHJlZ2lvbjo2NDg3MTVhZTc2N2Y0NzhhYWU0ZDBlNzZmYjA2YzU2MF8xMDk5NTExNjM2MjU4_2294d737-0a20-4b4f-bbda-2c8c8ccd9b82">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <tndm:LesseeOperatingLeaseBeginningPeriodAfterInitialLeaseTermForWhichNoRentIsDue
      contextRef="ie35171817a404dd2b853e0013dda010a_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzIxOTkwMjMyNzc0Njc_2f37208e-5f8c-494c-884d-e137b72d5cef">P2M</tndm:LesseeOperatingLeaseBeginningPeriodAfterInitialLeaseTermForWhichNoRentIsDue>
    <tndm:LesseeOperatingLeaseEndingPeriodAfterInitialLeaseTermForWhichNoRentIsDue
      contextRef="ie35171817a404dd2b853e0013dda010a_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzIxOTkwMjMyNzc0NzM_dd2edd67-3fa2-4c3a-9c20-769d9d8f5975">P9M</tndm:LesseeOperatingLeaseEndingPeriodAfterInitialLeaseTermForWhichNoRentIsDue>
    <tndm:LesseeOperatingLeaseBeginningPeriodAfterInitialLeaseTermForWhichNoRentIsDue
      contextRef="id2be02bc808448a69ff46f180492e1cb_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzIxOTkwMjMyNzc0ODQ_a75c12b0-2375-4041-b214-006754bc3935">P2M</tndm:LesseeOperatingLeaseBeginningPeriodAfterInitialLeaseTermForWhichNoRentIsDue>
    <tndm:LesseeOperatingLeaseEndingPeriodAfterInitialLeaseTermForWhichNoRentIsDue
      contextRef="id2be02bc808448a69ff46f180492e1cb_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzIxOTkwMjMyNzc0Nzk_888a4575-2ad8-41be-863e-4548647501fa">P5M</tndm:LesseeOperatingLeaseEndingPeriodAfterInitialLeaseTermForWhichNoRentIsDue>
    <us-gaap:DebtInstrumentConvertibleConversionRatio1
      contextRef="ic7ebbdecda8a4ef88bca8da80797f3ab_D20200501-20200531"
      decimals="7"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzkvZnJhZzowNGU4NjY2NjI2MzU0YmQ4YjBhNjhhYTBiMTEwY2JkNS90ZXh0cmVnaW9uOjA0ZTg2NjY2MjYzNTRiZDhiMGE2OGFhMGIxMTBjYmQ1XzQw_1cdf982a-4f06-4728-b784-6b13714efdbc"
      unitRef="number">0.0088836</us-gaap:DebtInstrumentConvertibleConversionRatio1>
    <dei:DocumentType
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xL2ZyYWc6ZDE2YWUwYzk3YzZiNDhmYTg5ZTI1YWVmMzcwNzQ3ZjQvdGV4dHJlZ2lvbjpkMTZhZTBjOTdjNmI0OGZhODllMjVhZWYzNzA3NDdmNF80MDI0_c9b0685d-1b68-49f7-915d-9aeccb74a61c">10-K</dei:DocumentType>
    <dei:DocumentAnnualReport
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xL2ZyYWc6ZDE2YWUwYzk3YzZiNDhmYTg5ZTI1YWVmMzcwNzQ3ZjQvdGFibGU6Mjg1M2Y4ZTg3NDNhNDVkMThlYjZmOGNlYjJiOWZjNTUvdGFibGVyYW5nZToyODUzZjhlODc0M2E0NWQxOGViNmY4Y2ViMmI5ZmM1NV8wLTAtMS0xLTUzODMw_fa38cdcd-7ffb-48a5-b3dd-178a4aa4ba1b">true</dei:DocumentAnnualReport>
    <dei:DocumentPeriodEndDate
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xL2ZyYWc6ZDE2YWUwYzk3YzZiNDhmYTg5ZTI1YWVmMzcwNzQ3ZjQvdGV4dHJlZ2lvbjpkMTZhZTBjOTdjNmI0OGZhODllMjVhZWYzNzA3NDdmNF8yNTA_d5fc3aff-f8a5-42f5-bf21-d08efad4ee8d">2021-12-31</dei:DocumentPeriodEndDate>
    <dei:CurrentFiscalYearEndDate
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xL2ZyYWc6ZDE2YWUwYzk3YzZiNDhmYTg5ZTI1YWVmMzcwNzQ3ZjQvdGV4dHJlZ2lvbjpkMTZhZTBjOTdjNmI0OGZhODllMjVhZWYzNzA3NDdmNF8yNTA_d3dbd5b0-798d-4cea-b5df-8d7baf71f08e">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentTransitionReport
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xL2ZyYWc6ZDE2YWUwYzk3YzZiNDhmYTg5ZTI1YWVmMzcwNzQ3ZjQvdGFibGU6Nzc5Y2U0OTExODA4NDc3NGFkNmQ4YTIxNjQwMzYyODkvdGFibGVyYW5nZTo3NzljZTQ5MTE4MDg0Nzc0YWQ2ZDhhMjE2NDAzNjI4OV8wLTAtMS0xLTUzODMw_e2301317-30fe-4fac-8393-d10005a4bfd6">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xL2ZyYWc6ZDE2YWUwYzk3YzZiNDhmYTg5ZTI1YWVmMzcwNzQ3ZjQvdGV4dHJlZ2lvbjpkMTZhZTBjOTdjNmI0OGZhODllMjVhZWYzNzA3NDdmNF80MDIw_815b8c57-6055-4869-bad3-6a56f8010194">001-36189</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xL2ZyYWc6ZDE2YWUwYzk3YzZiNDhmYTg5ZTI1YWVmMzcwNzQ3ZjQvdGV4dHJlZ2lvbjpkMTZhZTBjOTdjNmI0OGZhODllMjVhZWYzNzA3NDdmNF80MDIx_127e7dfb-d8e0-4f44-b85f-bd5825c72c0a">Tandem Diabetes Care, Inc.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xL2ZyYWc6ZDE2YWUwYzk3YzZiNDhmYTg5ZTI1YWVmMzcwNzQ3ZjQvdGFibGU6OWQzYWZjOTA2ZjZlNGU1NGE3NmEzN2ExNWZlYjJmNTIvdGFibGVyYW5nZTo5ZDNhZmM5MDZmNmU0ZTU0YTc2YTM3YTE1ZmViMmY1Ml8wLTAtMS0xLTUzODMw_63f59826-32aa-4933-8430-913c12136848">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xL2ZyYWc6ZDE2YWUwYzk3YzZiNDhmYTg5ZTI1YWVmMzcwNzQ3ZjQvdGFibGU6OWQzYWZjOTA2ZjZlNGU1NGE3NmEzN2ExNWZlYjJmNTIvdGFibGVyYW5nZTo5ZDNhZmM5MDZmNmU0ZTU0YTc2YTM3YTE1ZmViMmY1Ml8wLTMtMS0xLTUzODMw_7b0503b7-c67b-445d-b466-3523a7d08b57">20-4327508</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xL2ZyYWc6ZDE2YWUwYzk3YzZiNDhmYTg5ZTI1YWVmMzcwNzQ3ZjQvdGFibGU6OWQzYWZjOTA2ZjZlNGU1NGE3NmEzN2ExNWZlYjJmNTIvdGFibGVyYW5nZTo5ZDNhZmM5MDZmNmU0ZTU0YTc2YTM3YTE1ZmViMmY1Ml8yLTAtMS0xLTUzODMw_73907c36-295f-454a-9123-6f043adafafb">11075 Roselle Street</dei:EntityAddressAddressLine1>
    <dei:EntityAddressPostalZipCode
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xL2ZyYWc6ZDE2YWUwYzk3YzZiNDhmYTg5ZTI1YWVmMzcwNzQ3ZjQvdGFibGU6OWQzYWZjOTA2ZjZlNGU1NGE3NmEzN2ExNWZlYjJmNTIvdGFibGVyYW5nZTo5ZDNhZmM5MDZmNmU0ZTU0YTc2YTM3YTE1ZmViMmY1Ml8yLTMtMS0xLTUzODMw_e7091180-0d84-4169-b082-4849d89bd726">92121</dei:EntityAddressPostalZipCode>
    <dei:EntityAddressCityOrTown
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xL2ZyYWc6ZDE2YWUwYzk3YzZiNDhmYTg5ZTI1YWVmMzcwNzQ3ZjQvdGFibGU6OWQzYWZjOTA2ZjZlNGU1NGE3NmEzN2ExNWZlYjJmNTIvdGFibGVyYW5nZTo5ZDNhZmM5MDZmNmU0ZTU0YTc2YTM3YTE1ZmViMmY1Ml8zLTAtMS0xLTUzODMw_35a2eb7e-9b8a-4320-bfd7-c14493085b41">San Diego</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xL2ZyYWc6ZDE2YWUwYzk3YzZiNDhmYTg5ZTI1YWVmMzcwNzQ3ZjQvdGFibGU6OWQzYWZjOTA2ZjZlNGU1NGE3NmEzN2ExNWZlYjJmNTIvdGFibGVyYW5nZTo5ZDNhZmM5MDZmNmU0ZTU0YTc2YTM3YTE1ZmViMmY1Ml8zLTEtMS0xLTUzODMw_b4a68fde-67c3-48c1-bea2-2163000ed0b5">CA</dei:EntityAddressStateOrProvince>
    <dei:CityAreaCode
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xL2ZyYWc6ZDE2YWUwYzk3YzZiNDhmYTg5ZTI1YWVmMzcwNzQ3ZjQvdGV4dHJlZ2lvbjpkMTZhZTBjOTdjNmI0OGZhODllMjVhZWYzNzA3NDdmNF80MDIz_5af36589-4363-4716-bdf4-de24779b4c20">858</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xL2ZyYWc6ZDE2YWUwYzk3YzZiNDhmYTg5ZTI1YWVmMzcwNzQ3ZjQvdGV4dHJlZ2lvbjpkMTZhZTBjOTdjNmI0OGZhODllMjVhZWYzNzA3NDdmNF80MDI4_928335cd-89d7-4f3a-bcd4-57c29b65c647">366-6900</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xL2ZyYWc6ZDE2YWUwYzk3YzZiNDhmYTg5ZTI1YWVmMzcwNzQ3ZjQvdGFibGU6NDhjMThlODJhZjNhNDcwOThkN2VjMDNkNWYzNzdmZjMvdGFibGVyYW5nZTo0OGMxOGU4MmFmM2E0NzA5OGQ3ZWMwM2Q1ZjM3N2ZmM18xLTAtMS0xLTUzODMw_37f739e6-7b29-4e87-b4de-56299acb0160">Common Stock, par value $0.001 per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xL2ZyYWc6ZDE2YWUwYzk3YzZiNDhmYTg5ZTI1YWVmMzcwNzQ3ZjQvdGFibGU6NDhjMThlODJhZjNhNDcwOThkN2VjMDNkNWYzNzdmZjMvdGFibGVyYW5nZTo0OGMxOGU4MmFmM2E0NzA5OGQ3ZWMwM2Q1ZjM3N2ZmM18xLTEtMS0xLTUzODMw_e020a436-d81d-4c7d-968d-eb97ff4596c4">TNDM</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xL2ZyYWc6ZDE2YWUwYzk3YzZiNDhmYTg5ZTI1YWVmMzcwNzQ3ZjQvdGFibGU6NDhjMThlODJhZjNhNDcwOThkN2VjMDNkNWYzNzdmZjMvdGFibGVyYW5nZTo0OGMxOGU4MmFmM2E0NzA5OGQ3ZWMwM2Q1ZjM3N2ZmM18xLTItMS0xLTUzODMw_a3ae31a7-e238-4d5d-b244-3c0c40be6e5b">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityWellKnownSeasonedIssuer
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xL2ZyYWc6ZDE2YWUwYzk3YzZiNDhmYTg5ZTI1YWVmMzcwNzQ3ZjQvdGV4dHJlZ2lvbjpkMTZhZTBjOTdjNmI0OGZhODllMjVhZWYzNzA3NDdmNF80MDI1_e2f24f11-1126-459f-8676-6a016d1cb7d0">Yes</dei:EntityWellKnownSeasonedIssuer>
    <dei:EntityVoluntaryFilers
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xL2ZyYWc6ZDE2YWUwYzk3YzZiNDhmYTg5ZTI1YWVmMzcwNzQ3ZjQvdGV4dHJlZ2lvbjpkMTZhZTBjOTdjNmI0OGZhODllMjVhZWYzNzA3NDdmNF80MDI5_9632f1da-f58e-41d7-b912-b171d4b7d0b1">No</dei:EntityVoluntaryFilers>
    <dei:EntityCurrentReportingStatus
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xL2ZyYWc6ZDE2YWUwYzk3YzZiNDhmYTg5ZTI1YWVmMzcwNzQ3ZjQvdGV4dHJlZ2lvbjpkMTZhZTBjOTdjNmI0OGZhODllMjVhZWYzNzA3NDdmNF80MDMw_12bf2bdb-c7e2-46c8-b585-0edd36e4dbff">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xL2ZyYWc6ZDE2YWUwYzk3YzZiNDhmYTg5ZTI1YWVmMzcwNzQ3ZjQvdGV4dHJlZ2lvbjpkMTZhZTBjOTdjNmI0OGZhODllMjVhZWYzNzA3NDdmNF80MDE5_94c789e5-550e-4edd-98e5-0c6ae93640bf">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xL2ZyYWc6ZDE2YWUwYzk3YzZiNDhmYTg5ZTI1YWVmMzcwNzQ3ZjQvdGFibGU6MGIxNzQzZTY3ZjE1NGRhZTgyNzJlNzM2OGZjZWYxYzQvdGFibGVyYW5nZTowYjE3NDNlNjdmMTU0ZGFlODI3MmU3MzY4ZmNlZjFjNF8wLTAtMS0xLTUzODMw_988def5e-3d2e-404e-88b5-8a3f6393adfc">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xL2ZyYWc6ZDE2YWUwYzk3YzZiNDhmYTg5ZTI1YWVmMzcwNzQ3ZjQvdGFibGU6MGIxNzQzZTY3ZjE1NGRhZTgyNzJlNzM2OGZjZWYxYzQvdGFibGVyYW5nZTowYjE3NDNlNjdmMTU0ZGFlODI3MmU3MzY4ZmNlZjFjNF8xLTQtMS0xLTUzODMw_740f6cee-9364-412d-98a7-68c1f693c6f5">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xL2ZyYWc6ZDE2YWUwYzk3YzZiNDhmYTg5ZTI1YWVmMzcwNzQ3ZjQvdGFibGU6MGIxNzQzZTY3ZjE1NGRhZTgyNzJlNzM2OGZjZWYxYzQvdGFibGVyYW5nZTowYjE3NDNlNjdmMTU0ZGFlODI3MmU3MzY4ZmNlZjFjNF8yLTQtMS0xLTUzODMw_cb3e554c-06ad-4a1d-bc8c-84810598593a">false</dei:EntityEmergingGrowthCompany>
    <dei:IcfrAuditorAttestationFlag
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xL2ZyYWc6ZDE2YWUwYzk3YzZiNDhmYTg5ZTI1YWVmMzcwNzQ3ZjQvdGV4dHJlZ2lvbjpkMTZhZTBjOTdjNmI0OGZhODllMjVhZWYzNzA3NDdmNF80MDIy_de97ba64-7685-419c-90d3-b906b8043e06">true</dei:IcfrAuditorAttestationFlag>
    <dei:EntityShellCompany
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xL2ZyYWc6ZDE2YWUwYzk3YzZiNDhmYTg5ZTI1YWVmMzcwNzQ3ZjQvdGV4dHJlZ2lvbjpkMTZhZTBjOTdjNmI0OGZhODllMjVhZWYzNzA3NDdmNF80MDI2_e120070a-c348-402d-b87f-45a71f54d38e">false</dei:EntityShellCompany>
    <dei:EntityPublicFloat
      contextRef="i73f6f2ab90c34139a002a1924746700f_I20200630"
      decimals="-8"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xL2ZyYWc6ZDE2YWUwYzk3YzZiNDhmYTg5ZTI1YWVmMzcwNzQ3ZjQvdGV4dHJlZ2lvbjpkMTZhZTBjOTdjNmI0OGZhODllMjVhZWYzNzA3NDdmNF8zMDIx_b46ba61d-9c8e-488c-8142-1dd0a28125ab"
      unitRef="usd">5400000000</dei:EntityPublicFloat>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="i98b4ef5e4c904450b460ed3b7e9ebfdc_I20220217"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xL2ZyYWc6ZDE2YWUwYzk3YzZiNDhmYTg5ZTI1YWVmMzcwNzQ3ZjQvdGV4dHJlZ2lvbjpkMTZhZTBjOTdjNmI0OGZhODllMjVhZWYzNzA3NDdmNF8zNDEw_8977916f-20f5-4984-b31f-389730281f7a"
      unitRef="shares">63872310</dei:EntityCommonStockSharesOutstanding>
    <dei:DocumentsIncorporatedByReferenceTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xL2ZyYWc6ZDE2YWUwYzk3YzZiNDhmYTg5ZTI1YWVmMzcwNzQ3ZjQvdGV4dHJlZ2lvbjpkMTZhZTBjOTdjNmI0OGZhODllMjVhZWYzNzA3NDdmNF80MDE3_259675b5-4b5f-4677-a46b-a57fb1dcfe60">Portions of the registrant&#x2019;s definitive Proxy Statement for the 2022 Annual Meeting of Stockholders, to be filed with the Securities and Exchange Commission pursuant to Regulation 14A not later than 120 days after the end of the fiscal year covered by this Form&#160;10-K, are incorporated by reference in Part&#160;III, Items 10-14 of this Form&#160;10-K. Except for the portions of the Proxy Statement specifically incorporated by reference in this Form 10-K, the Proxy Statement shall not be deemed to be filed as part hereof.</dei:DocumentsIncorporatedByReferenceTextBlock>
    <dei:AuditorFirmId
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDAvZnJhZzo0YzEzMzY1Y2FjN2E0MjRmOTAxNmIyZTFhNTgyODVlMS90YWJsZTo0OTdiYzUyZmM4YjQ0ZTgwYjkxYmMwZDI2NWEyNDE3Yy90YWJsZXJhbmdlOjQ5N2JjNTJmYzhiNDRlODBiOTFiYzBkMjY1YTI0MTdjXzAtMC0xLTEtODUxMTEvdGV4dHJlZ2lvbjo4NTllNDk1NmYwYzE0OGVhYTY4ZGJjNzlhZDE0NzZkOF8zMjk4NTM0ODgzNjk2_6b272f04-b9e8-41aa-8101-1c361278b16d">42</dei:AuditorFirmId>
    <dei:AuditorName
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDMvZnJhZzphMTliZjhmM2EzZDg0MGYyOGNiYWMwN2RjNjdmNmQ0Zi90ZXh0cmVnaW9uOmExOWJmOGYzYTNkODQwZjI4Y2JhYzA3ZGM2N2Y2ZDRmXzMyOTg1MzQ4OTAzMzk_49756e68-805d-4fcc-9248-7c8ead68d30a">Ernst &amp; Young LLP</dei:AuditorName>
    <dei:AuditorLocation
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDMvZnJhZzphMTliZjhmM2EzZDg0MGYyOGNiYWMwN2RjNjdmNmQ0Zi90ZXh0cmVnaW9uOmExOWJmOGYzYTNkODQwZjI4Y2JhYzA3ZGM2N2Y2ZDRmXzMyOTg1MzQ4OTAzNDA_4f77cbd2-59b4-4e6a-8c2d-2047efccac94">San Diego, California</dei:AuditorLocation>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzQtMS0xLTEtNTM4MzA_af992e83-d861-46f8-8eff-d9410fb76819"
      unitRef="usd">71181000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzQtMy0xLTEtNTM4MzA_41d6202e-5105-4da6-8d53-f3d0638ac97e"
      unitRef="usd">94613000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:ShortTermInvestments
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzUtMS0xLTEtNTM4MzA_9db97e5e-ab5f-4554-981a-f06a6dc65239"
      unitRef="usd">552630000</us-gaap:ShortTermInvestments>
    <us-gaap:ShortTermInvestments
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzUtMy0xLTEtNTM4MzA_9ff6c66e-51b5-4f48-a93c-dccf9f54ffcf"
      unitRef="usd">390323000</us-gaap:ShortTermInvestments>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzYtMS0xLTEtNTM4MzA_b88b7061-99a4-40d7-be11-c8ec71d6fa48"
      unitRef="usd">110725000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzYtMy0xLTEtNTM4MzA_c1d42a2e-b1ea-4719-9b6e-c82918105f5b"
      unitRef="usd">82195000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzctMS0xLTEtNTM4MzA_9951f01f-7fdf-4b3c-9864-0200723a2d5e"
      unitRef="usd">68551000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzctMy0xLTEtNTM4MzA_a5a17dea-7239-45bd-b255-5998e4626f70"
      unitRef="usd">63721000</us-gaap:InventoryNet>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzgtMS0xLTEtNTM4MzA_ba286510-2170-4bc6-88fe-7ed4979b9b11"
      unitRef="usd">8433000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzgtMy0xLTEtNTM4MzA_b93cb3fc-2859-4d38-a1c1-b81da7550fb4"
      unitRef="usd">6383000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzktMS0xLTEtNTM4MzA_ede693cc-08cf-44e8-949f-bcb2a5bddf7a"
      unitRef="usd">811520000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzktMy0xLTEtNTM4MzA_b1bb23f4-b954-47dc-beb7-debfae9d8ceb"
      unitRef="usd">637235000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzEwLTEtMS0xLTUzODMw_ec395635-7fd2-49fd-8a66-9e753ac2d1d9"
      unitRef="usd">50386000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzEwLTMtMS0xLTUzODMw_0f662192-3cb7-4603-8357-795d48766df6"
      unitRef="usd">50022000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzExLTEtMS0xLTUzODMw_28ddc157-58bc-426d-99bd-ea5702ff6a37"
      unitRef="usd">27503000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzExLTMtMS0xLTUzODMw_39370bdd-89fe-4c7e-9c65-f6bac0f4e738"
      unitRef="usd">19773000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzEyLTEtMS0xLTUzODMw_bfb538e9-0de2-4e85-a64c-f9635f677dbe"
      unitRef="usd">15728000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzEyLTMtMS0xLTUzODMw_5a79c8cf-e9fd-41e4-be39-784641333c97"
      unitRef="usd">9385000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzEzLTEtMS0xLTUzODMw_010033ec-3864-4a15-acbb-a5360c751989"
      unitRef="usd">905137000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzEzLTMtMS0xLTUzODMw_3dceebba-233e-4742-98ba-7244ff227a15"
      unitRef="usd">716415000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzE2LTEtMS0xLTUzODMw_0dbe83ef-c27e-4a6c-a4d5-49eb1e2f15d0"
      unitRef="usd">28032000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzE2LTMtMS0xLTUzODMw_44c65aa7-6764-4b10-81f2-5c43ea6b272b"
      unitRef="usd">17805000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzE3LTEtMS0xLTUzODMw_0988e08f-ab7d-4288-a9bb-6cbb60d68518"
      unitRef="usd">9419000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzE3LTMtMS0xLTUzODMw_79d8d73f-2493-4c6f-97a6-2b082716eb5e"
      unitRef="usd">4783000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzE4LTEtMS0xLTUzODMw_2a2302a8-b3f4-4141-ac60-e53fc534d6a6"
      unitRef="usd">51556000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzE4LTMtMS0xLTUzODMw_24a005a5-b8f9-4452-9881-497bc806b667"
      unitRef="usd">34159000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzE5LTEtMS0xLTUzODMw_0614af98-8299-41d6-9252-33d5aa20b97a"
      unitRef="usd">10182000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzE5LTMtMS0xLTUzODMw_3aebb3a0-9715-4cae-ad5d-a686a00f3381"
      unitRef="usd">6082000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <tndm:CommonStockWarrants
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzIwLTEtMS0xLTUzODMw_4cf50750-3121-435b-9ab3-2a839c7f90de"
      unitRef="usd">147000</tndm:CommonStockWarrants>
    <tndm:CommonStockWarrants
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzIwLTMtMS0xLTUzODMw_66e126a9-5029-4b19-bd1f-3414817cc17f"
      unitRef="usd">14261000</tndm:CommonStockWarrants>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzIxLTEtMS0xLTUzODMw_27f54dbd-25ce-4cf1-a781-c8e8486188e3"
      unitRef="usd">9279000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzIxLTMtMS0xLTUzODMw_019fcc96-9a58-4668-bba3-d14a5bc85d77"
      unitRef="usd">9421000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzIyLTEtMS0xLTUzODMw_7f957466-0152-4744-b1fd-22ed2d9ecf12"
      unitRef="usd">23241000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzIyLTMtMS0xLTUzODMw_079108db-df29-4ab6-82b0-e0ea8280ba36"
      unitRef="usd">17341000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzIzLTEtMS0xLTUzODMw_6f0026a0-05a9-4b97-b76a-c6c036480de5"
      unitRef="usd">131856000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzIzLTMtMS0xLTUzODMw_6081be2a-ca1e-4a17-942a-3ecd895f01e4"
      unitRef="usd">103852000</us-gaap:LiabilitiesCurrent>
    <us-gaap:ConvertibleDebtNoncurrent
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzI1LTEtMS0xLTUzODMw_e1e95061-6779-4d4c-ad01-53d98edae2b9"
      unitRef="usd">281467000</us-gaap:ConvertibleDebtNoncurrent>
    <us-gaap:ConvertibleDebtNoncurrent
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzI1LTMtMS0xLTUzODMw_51903383-cf90-4d4b-a086-3e86047900c7"
      unitRef="usd">202984000</us-gaap:ConvertibleDebtNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzI2LTEtMS0xLTUzODMw_15eb4a51-fab6-44bc-bbbf-f923ba714afe"
      unitRef="usd">23922000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzI2LTMtMS0xLTUzODMw_da0574f0-c1cd-4306-999f-7f44092f0bcb"
      unitRef="usd">15914000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzI3LTEtMS0xLTUzODMw_e839c013-746c-4529-8b94-36385d0682ab"
      unitRef="usd">34780000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzI3LTMtMS0xLTUzODMw_1a8b5d1d-db09-4054-bd97-a8b686eae362"
      unitRef="usd">27360000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzI4LTEtMS0xLTUzODMw_71c2fa4d-6945-4c6c-ad2f-dae1c1643be9"
      unitRef="usd">472025000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzI4LTMtMS0xLTUzODMw_48df7054-79dd-4f89-bbe7-7a44df79d206"
      unitRef="usd">350110000</us-gaap:Liabilities>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzI5LTEtMS0xLTUzODMw_7d643766-e27c-4f97-9174-7a8fefd31df9"
      unitRef="usd">0</us-gaap:CommitmentsAndContingencies>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzI5LTMtMS0xLTUzODMw_751f5c4b-e7eb-48ed-bdc0-db026b864181"
      unitRef="usd">0</us-gaap:CommitmentsAndContingencies>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzMxLTAtMS0xLTUzODMwL3RleHRyZWdpb246NWQ5MTE4YjE3MGM1NGFiM2I4YzFiNTA3OTc2OTg3ODNfMTg_68333d7a-bd46-4df1-96c0-d90e7f306419"
      unitRef="usdPerShare">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzMxLTAtMS0xLTUzODMwL3RleHRyZWdpb246NWQ5MTE4YjE3MGM1NGFiM2I4YzFiNTA3OTc2OTg3ODNfMTg_e52fa3f3-df22-41bc-9ce8-512e9b59433a"
      unitRef="usdPerShare">0.001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzMxLTAtMS0xLTUzODMwL3RleHRyZWdpb246NWQ5MTE4YjE3MGM1NGFiM2I4YzFiNTA3OTc2OTg3ODNfMzI_dc67570f-817f-4e97-87f4-6a31823112c3"
      unitRef="shares">200000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzMxLTAtMS0xLTUzODMwL3RleHRyZWdpb246NWQ5MTE4YjE3MGM1NGFiM2I4YzFiNTA3OTc2OTg3ODNfMzI_f3b1f6c3-5cbc-4df7-b9b8-43d35da18311"
      unitRef="shares">200000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzMxLTAtMS0xLTUzODMwL3RleHRyZWdpb246NWQ5MTE4YjE3MGM1NGFiM2I4YzFiNTA3OTc2OTg3ODNfNTQ_76393b82-c665-40c5-b508-7171590b50a6"
      unitRef="shares">63833000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzMxLTAtMS0xLTUzODMwL3RleHRyZWdpb246NWQ5MTE4YjE3MGM1NGFiM2I4YzFiNTA3OTc2OTg3ODNfNTQ_7da7542b-4d67-4461-a68d-12a49caa6373"
      unitRef="shares">63833000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzMxLTAtMS0xLTUzODMwL3RleHRyZWdpb246NWQ5MTE4YjE3MGM1NGFiM2I4YzFiNTA3OTc2OTg3ODNfNjE_4e62e813-58ef-49e9-a52a-0069033f3f98"
      unitRef="shares">62335000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzMxLTAtMS0xLTUzODMwL3RleHRyZWdpb246NWQ5MTE4YjE3MGM1NGFiM2I4YzFiNTA3OTc2OTg3ODNfNjE_66329832-ff6a-4461-9809-e547cebf99e3"
      unitRef="shares">62335000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzMxLTEtMS0xLTUzODMw_98acc73f-8e2b-4fe1-be9e-28a713fcdf85"
      unitRef="usd">64000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzMxLTMtMS0xLTUzODMw_38cb6cd0-d908-4890-abc7-9c326081c3d3"
      unitRef="usd">62000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzMyLTEtMS0xLTUzODMw_e00dfb4d-26a6-441f-b5ba-6142089e3ec8"
      unitRef="usd">1068259000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzMyLTMtMS0xLTUzODMw_79c9f162-91b9-4ef3-bf6d-b78636984307"
      unitRef="usd">1025233000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzMzLTEtMS0xLTUzODMw_9fb8579a-644e-4c9c-8c8e-ee07cc3ff083"
      unitRef="usd">-616000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzMzLTMtMS0xLTUzODMw_41894dfb-fae2-4122-9ae4-9aa23b91c7b6"
      unitRef="usd">220000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzM0LTEtMS0xLTUzODMw_9a418fd9-5ae0-464f-b8d3-7df8ec44ed31"
      unitRef="usd">-634595000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzM0LTMtMS0xLTUzODMw_a56bfe8e-bd23-4e30-beac-950929da37a1"
      unitRef="usd">-659210000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzM1LTEtMS0xLTUzODMw_af5878a8-e6c4-4c58-812b-4c338c8300d8"
      unitRef="usd">433112000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzM1LTMtMS0xLTUzODMw_b4a966ba-42a9-48fb-b341-4593cced1977"
      unitRef="usd">366305000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzM2LTEtMS0xLTUzODMw_c373303c-d813-4bcd-897b-366f3d247613"
      unitRef="usd">905137000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDYvZnJhZzo4YmZmZTNiOWQwN2M0NDY0Yjc5NmEyYjFlNDRjMDNhMC90YWJsZTo3ZGFkODk3ZTAwNjc0Njc4YjM2YzVjMDVjZDJmNjJkNS90YWJsZXJhbmdlOjdkYWQ4OTdlMDA2NzQ2NzhiMzZjNWMwNWNkMmY2MmQ1XzM2LTMtMS0xLTUzODMw_0818793a-b793-4d39-9b87-90758e114888"
      unitRef="usd">716415000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzItMS0xLTEtNTM4MzA_ae53ee9a-fe08-4ddb-a5c3-3c3614f90164"
      unitRef="usd">702799000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzItMy0xLTEtNTM4MzA_a8548596-ccdf-42c9-8442-77da7e7af31b"
      unitRef="usd">498830000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzItNS0xLTEtNTM4MzA_2573e949-11d5-4e75-acde-111676196b0d"
      unitRef="usd">362305000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzMtMS0xLTEtNTM4MzA_fb94702b-f2a9-4e8e-a69d-aff8fe48bab2"
      unitRef="usd">326584000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzMtMy0xLTEtNTM4MzA_f7713b08-fcd3-4871-b75d-33370b27e2d6"
      unitRef="usd">238310000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzMtNS0xLTEtNTM4MzA_9274851c-e418-47ed-8e82-a4efa8032403"
      unitRef="usd">168093000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzQtMS0xLTEtNTM4MzA_167ae12f-a75f-4e5e-b8ad-0298a1185b21"
      unitRef="usd">376215000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzQtMy0xLTEtNTM4MzA_9fb26eec-7617-4fa5-a083-ed669d009ed5"
      unitRef="usd">260520000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzQtNS0xLTEtNTM4MzA_ea5cca9c-3797-4bbe-a86e-f77ad3562f20"
      unitRef="usd">194212000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzYtMS0xLTEtNTM4MzA_aa144538-c570-47df-9ce4-5ac0dd6f9bd6"
      unitRef="usd">261508000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzYtMy0xLTEtNTM4MzA_14c6281a-2097-4897-95c4-301e204a2ac4"
      unitRef="usd">204903000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzYtNS0xLTEtNTM4MzA_0299afe8-e953-4183-9662-0a459c4b01ed"
      unitRef="usd">165735000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzctMS0xLTEtNTM4MzA_aee2308c-e193-43bd-b0eb-91acd0279f23"
      unitRef="usd">92054000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzctMy0xLTEtNTM4MzA_3ec5859d-6f7c-44f9-8c2f-2946e0c0fe4e"
      unitRef="usd">63574000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzctNS0xLTEtNTM4MzA_00f0c4c2-e822-4d0f-b5ad-8334843c75f5"
      unitRef="usd">45199000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:OperatingExpenses
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzgtMS0xLTEtNTM4MzA_68a95147-1dfb-4088-98c0-eb81bf13e905"
      unitRef="usd">353562000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzgtMy0xLTEtNTM4MzA_1c29c1f6-452b-4ff2-96e5-9d1b4ceffc42"
      unitRef="usd">268477000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzgtNS0xLTEtNTM4MzA_794bb5ab-9fa7-4943-aa24-26c8b5f043fb"
      unitRef="usd">210934000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzktMS0xLTEtNTM4MzA_09ebdcb4-6054-4726-98de-5a09e2dd2afa"
      unitRef="usd">22653000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzktMy0xLTEtNTM4MzA_3238b9c3-cfa9-475d-a65c-10a998189786"
      unitRef="usd">-7957000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzktNS0xLTEtNTM4MzA_e1e9a580-477a-41e1-882e-31ce8b3da3b8"
      unitRef="usd">-16722000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestAndOtherIncome
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzExLTEtMS0xLTUzODMw_4af3ac05-a183-43e5-907c-9bdf75256e4a"
      unitRef="usd">674000</us-gaap:InterestAndOtherIncome>
    <us-gaap:InterestAndOtherIncome
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzExLTMtMS0xLTUzODMw_d7dbe59a-8e32-465b-aa71-b8f42d804086"
      unitRef="usd">1567000</us-gaap:InterestAndOtherIncome>
    <us-gaap:InterestAndOtherIncome
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzExLTUtMS0xLTUzODMw_dc9c22d8-86c6-4b50-b41d-0a3fc831f6d1"
      unitRef="usd">3193000</us-gaap:InterestAndOtherIncome>
    <us-gaap:InterestExpenseOther
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzEyLTEtMS0xLTUzODMw_0db48391-25cb-4e29-af20-22a04d1eba49"
      unitRef="usd">6040000</us-gaap:InterestExpenseOther>
    <us-gaap:InterestExpenseOther
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzEyLTMtMS0xLTUzODMw_ab1dc9e6-7899-4015-9e85-0f28dc5a6175"
      unitRef="usd">12805000</us-gaap:InterestExpenseOther>
    <us-gaap:InterestExpenseOther
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzEyLTUtMS0xLTUzODMw_62691bb3-9ff1-4505-a739-35111a60453a"
      unitRef="usd">0</us-gaap:InterestExpenseOther>
    <us-gaap:FairValueAdjustmentOfWarrants
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzE0LTEtMS0xLTUzODMw_1604f7b0-4b46-4983-b6cf-cf380829b8db"
      unitRef="usd">1386000</us-gaap:FairValueAdjustmentOfWarrants>
    <us-gaap:FairValueAdjustmentOfWarrants
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzE0LTMtMS0xLTUzODMw_464e2853-558c-4b02-89ee-853c2dac2745"
      unitRef="usd">17087000</us-gaap:FairValueAdjustmentOfWarrants>
    <us-gaap:FairValueAdjustmentOfWarrants
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzE0LTUtMS0xLTUzODMw_ff607773-0076-4500-9077-0b0bb73d6f96"
      unitRef="usd">11075000</us-gaap:FairValueAdjustmentOfWarrants>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzE1LTEtMS0xLTUzODMw_507a583c-863f-4b1a-971a-0023679cccc3"
      unitRef="usd">-6752000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzE1LTMtMS0xLTUzODMw_76fd86e7-a2ce-4ef7-9f99-f9bf45cc5a04"
      unitRef="usd">-28325000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzE1LTUtMS0xLTUzODMw_d82f1004-525f-4ca4-a9b1-df56facabac3"
      unitRef="usd">-7882000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzE2LTEtMS0xLTUzODMw_d40c215a-2fb1-46f6-ad2f-03072b0db073"
      unitRef="usd">15901000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzE2LTMtMS0xLTUzODMw_a5b41373-cdd5-4e70-ab1c-22e5429294df"
      unitRef="usd">-36282000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzE2LTUtMS0xLTUzODMw_836d7d86-5b73-41b0-ac6c-1a2173907397"
      unitRef="usd">-24604000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzE3LTEtMS0xLTUzODMw_1b7813d4-9781-4ccb-8deb-ac3f3396e134"
      unitRef="usd">335000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzE3LTMtMS0xLTUzODMw_30c60d6e-456e-4a80-9397-82bb9ca179e2"
      unitRef="usd">-1900000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzE3LTUtMS0xLTUzODMw_a3c82188-d10c-49dc-acd7-189e30aa5875"
      unitRef="usd">149000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzE4LTEtMS0xLTUzODMw_d2c1b4f1-3ab6-498c-ba67-06af6c1a1ef7"
      unitRef="usd">15566000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzE4LTMtMS0xLTUzODMw_2e0ce586-a1e6-47c5-ba62-67fd73f4dfe6"
      unitRef="usd">-34382000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzE4LTUtMS0xLTUzODMw_882ec1aa-485f-4997-836f-d1c6178ae2ac"
      unitRef="usd">-24753000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzIwLTEtMS0xLTUzODMw_62292d70-5a13-457a-845f-d11fc904efbc"
      unitRef="usd">-693000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzIwLTMtMS0xLTUzODMw_ceccedc6-d37b-4e70-80c8-a48bdf195f36"
      unitRef="usd">-20000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzIwLTUtMS0xLTUzODMw_de3a7acb-3cb6-44a8-97ea-cd2afcd62781"
      unitRef="usd">77000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzIxLTEtMS0xLTUzODMw_73532de4-1053-44cf-9e46-ebbdc84bdbb3"
      unitRef="usd">-143000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzIxLTMtMS0xLTUzODMw_6867c468-cd8c-412c-8678-1b9fcd697081"
      unitRef="usd">118000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzIxLTUtMS0xLTUzODMw_aca35ca1-72d4-4f58-bb1e-0b55e0528aed"
      unitRef="usd">58000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzIyLTEtMS0xLTUzODMw_4d9e2f7a-80db-45fb-9c81-e4566ad98e7a"
      unitRef="usd">14730000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzIyLTMtMS0xLTUzODMw_ead5d302-9f71-49ea-b2b2-119a3c84c711"
      unitRef="usd">-34284000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzIyLTUtMS0xLTUzODMw_1faa0cf1-8386-456f-929c-7c2fd890cd94"
      unitRef="usd">-24618000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:EarningsPerShareBasic
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzI0LTEtMS0xLTUzODMw_f22f468b-1354-4c88-a9d4-ab26ba0c0a4a"
      unitRef="usdPerShare">0.25</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzI0LTMtMS0xLTUzODMw_7b9c040e-b983-4b5f-b8e2-4faa53a3840e"
      unitRef="usdPerShare">-0.56</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzI0LTUtMS0xLTUzODMw_cbe68783-163b-4e91-a82c-d29a8a512dad"
      unitRef="usdPerShare">-0.42</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzI1LTEtMS0xLTY2NDcz_6b4e6744-08ba-4370-94a3-420b28407c1b"
      unitRef="usdPerShare">0.24</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzI1LTMtMS0xLTY2NDcz_59820053-1d83-4317-8b47-78e65d3455a5"
      unitRef="usdPerShare">-0.56</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzI1LTUtMS0xLTY2NDcz_91e4c293-713d-4551-9bea-31f3f69d2ad3"
      unitRef="usdPerShare">-0.42</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzI1LTEtMS0xLTUzODMw_9fdc4d8b-5175-4b84-a2bc-fa69c6681a6b"
      unitRef="shares">63000000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzI1LTMtMS0xLTUzODMw_29f9a3a1-92c0-4315-9276-c3f6375ab5e8"
      unitRef="shares">60990000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzI1LTUtMS0xLTUzODMw_4d0a15e5-bac6-4b65-acf9-18df5c77856d"
      unitRef="shares">58507000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzI3LTEtMS0xLTYzODk4_47db0cd5-bec6-4db6-be2f-cda150f1b25a"
      unitRef="shares">64349000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzI3LTMtMS0xLTYzODk4_5ca52fa7-5509-4c46-9266-5c3f8ec7ed43"
      unitRef="shares">60990000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMDkvZnJhZzo2M2JiZTMzYWVjNzQ0YmFmODIxMmQ4MmUxZDdkN2U3Mi90YWJsZTo1YjA4ZGFmNTdjNDE0Y2M0YWY2NTZkM2NkZjU3MWIzZi90YWJsZXJhbmdlOjViMDhkYWY1N2M0MTRjYzRhZjY1NmQzY2RmNTcxYjNmXzI3LTUtMS0xLTYzODk4_9c4e926e-9f5f-42fa-b9ec-0639920fc141"
      unitRef="shares">58507000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:SharesOutstanding
      contextRef="ia80bc5e755874a2f96fd4367499e99e0_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzIwLTEtMS0xLTUzODMw_4a13e1d6-c991-45eb-aa8d-23cdc57b7874"
      unitRef="shares">57554000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="ia80bc5e755874a2f96fd4367499e99e0_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzIwLTMtMS0xLTUzODMw_10db58b2-4024-4d0a-8d8a-60c765177b35"
      unitRef="usd">57000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="iacf9ef0f27d44e6bba651d4fff2e0b33_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzIwLTUtMS0xLTUzODMw_28b7938c-d48f-4ad9-8e98-a61801e3a08a"
      unitRef="usd">731306000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="idd079d65d7f24c12874181e9a57ba653_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzIwLTctMS0xLTUzODMw_5dc9a0f2-0364-4a8c-9210-502f37e74403"
      unitRef="usd">-13000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ifa4ca3ecd2304eafa005a7626ea5b9f2_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzIwLTktMS0xLTUzODMw_371c3ee4-d466-4cd0-a079-5b52e51dd66c"
      unitRef="usd">-600075000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i1be26f57e9264ee580a0723df09ac283_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzIwLTExLTEtMS01MzgzMA_8e6d8f0c-ecd0-4f28-925c-14a6683640ce"
      unitRef="usd">131275000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="ieab0fc9f86b54fa69757a339a0d2aa20_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzIxLTEtMS0xLTUzODMw_b501b4b8-f778-4f3e-8de3-14c50314cc8f"
      unitRef="shares">1422000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="ieab0fc9f86b54fa69757a339a0d2aa20_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzIxLTMtMS0xLTUzODMw_5b4a63b1-297a-46dc-80f5-991beae581cb"
      unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="ib3e93e8be3394459b2936741f0c38147_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzIxLTUtMS0xLTUzODMw_f2e3fe80-d210-45d4-927e-d69a652a4a69"
      unitRef="usd">17674000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzIxLTExLTEtMS01MzgzMA_2ee66996-7eab-466d-8e08-18726d77bbac"
      unitRef="usd">17675000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="ieab0fc9f86b54fa69757a339a0d2aa20_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzIyLTEtMS0xLTUzODMw_81800995-b62f-4639-a567-a0f57d731e1d"
      unitRef="shares">327000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="ieab0fc9f86b54fa69757a339a0d2aa20_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzIyLTMtMS0xLTUzODMw_cfbc8af8-0e13-4826-beb9-06361821ebda"
      unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="ib3e93e8be3394459b2936741f0c38147_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzIyLTUtMS0xLTUzODMw_34694a84-f675-4cd9-b405-d13684134650"
      unitRef="usd">6205000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzIyLTExLTEtMS01MzgzMA_168243e7-9917-419b-8ac8-90e6ffe19722"
      unitRef="usd">6206000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <tndm:StockIssuedDuringPeriodSharesCommonStockWarrantsExercised
      contextRef="ieab0fc9f86b54fa69757a339a0d2aa20_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzIzLTEtMS0xLTUzODMw_3e876e4f-cc0a-4c0c-ac86-67243f8f00a2"
      unitRef="shares">93000</tndm:StockIssuedDuringPeriodSharesCommonStockWarrantsExercised>
    <tndm:StockIssuedDuringPeriodValueCommonStockWarrantsExercised
      contextRef="ieab0fc9f86b54fa69757a339a0d2aa20_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzIzLTMtMS0xLTUzODMw_2760d97f-f174-45d1-8b44-7ac5a481e4ea"
      unitRef="usd">0</tndm:StockIssuedDuringPeriodValueCommonStockWarrantsExercised>
    <tndm:StockIssuedDuringPeriodValueCommonStockWarrantsExercised
      contextRef="ib3e93e8be3394459b2936741f0c38147_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzIzLTUtMS0xLTUzODMw_d94e3038-7e35-4d72-9dee-fb154ed769dc"
      unitRef="usd">327000</tndm:StockIssuedDuringPeriodValueCommonStockWarrantsExercised>
    <tndm:StockIssuedDuringPeriodValueCommonStockWarrantsExercised
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzIzLTExLTEtMS01MzgzMA_5921bdfd-0ce1-4d4c-99dd-d9b98243e919"
      unitRef="usd">327000</tndm:StockIssuedDuringPeriodValueCommonStockWarrantsExercised>
    <tndm:FairValueOfCommonStockWarrantsAtTimeOfExercise
      contextRef="ib3e93e8be3394459b2936741f0c38147_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzI0LTUtMS0xLTUzODMw_0a5604ca-bcd8-44e0-b3d2-58a4c5801fad"
      unitRef="usd">5492000</tndm:FairValueOfCommonStockWarrantsAtTimeOfExercise>
    <tndm:FairValueOfCommonStockWarrantsAtTimeOfExercise
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzI0LTExLTEtMS01MzgzMA_8c333260-9365-4af0-93bc-e0f43c66ca67"
      unitRef="usd">5492000</tndm:FairValueOfCommonStockWarrantsAtTimeOfExercise>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ib3e93e8be3394459b2936741f0c38147_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzI1LTUtMS0xLTUzODMw_f786607c-c092-431d-ae56-0c91ec76675b"
      unitRef="usd">58622000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzI1LTExLTEtMS01MzgzMA_21034484-eeb6-4d45-889b-c033264fa6aa"
      unitRef="usd">58622000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="ia8526860b9ca4df59fd2588db3de2d91_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzI2LTctMS0xLTUzODMw_33431e0c-9bc3-4adf-95d5-d9cdc712ad44"
      unitRef="usd">77000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzI2LTExLTEtMS01MzgzMA_84ad3306-daea-49e8-be10-40d2e899f818"
      unitRef="usd">77000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="ia8526860b9ca4df59fd2588db3de2d91_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzI3LTctMS0xLTUzODMw_5de87272-0847-4d1d-859b-b69c881a204b"
      unitRef="usd">58000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzI3LTExLTEtMS01MzgzMA_fe4ba429-7c55-4162-a0ac-8b1642079c6b"
      unitRef="usd">58000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:NetIncomeLoss
      contextRef="i3b6e704f49c5419c98f0da09784dac63_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzI4LTktMS0xLTUzODMw_455f5282-f940-4c9d-aa91-6764476bfb01"
      unitRef="usd">-24753000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzI4LTExLTEtMS01MzgzMA_dae83e76-b738-4620-9c5b-0d96411d2b35"
      unitRef="usd">-24753000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="i566801de9c9346d29e72980e1d35f835_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzI5LTEtMS0xLTUzODMw_73757a71-977e-4706-8acf-7adcb7c722b5"
      unitRef="shares">59396000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i566801de9c9346d29e72980e1d35f835_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzI5LTMtMS0xLTUzODMw_269b50aa-117a-46a8-adc5-8f856651aa32"
      unitRef="usd">59000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ic88b47f4a2c545d5b608c9a9ef7aa748_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzI5LTUtMS0xLTUzODMw_69c283ec-153d-46ba-96cf-41b72d8130b9"
      unitRef="usd">819626000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i41d8ee3e134a4100966e7bd668e4e199_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzI5LTctMS0xLTUzODMw_539fa3a2-725b-4de6-9a48-36de1195563a"
      unitRef="usd">122000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i0ce88def5b1c4828b9085eba561e98d7_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzI5LTktMS0xLTUzODMw_bd4424de-e25f-414b-9621-1dc0ba66cfb9"
      unitRef="usd">-624828000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia35d79f7a8cd4f3e92d3a94270701280_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzI5LTExLTEtMS01MzgzMA_4dafffae-e32f-4bdc-bf5c-5767c508c9cf"
      unitRef="usd">194979000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i3638078c653d440592fd86d7ed70f018_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzMwLTEtMS0xLTUzODMw_7b762dd6-001d-471a-860e-3ab0a0ec64c3"
      unitRef="shares">2341000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i3638078c653d440592fd86d7ed70f018_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzMwLTMtMS0xLTUzODMw_011c56b8-e7aa-4def-a61a-57c6620e7ca7"
      unitRef="usd">2000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i122dd0fc739d470caacfc05babb89ff6_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzMwLTUtMS0xLTUzODMw_dcd65f3d-15e8-4442-ba3b-13d961a47e93"
      unitRef="usd">57748000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzMwLTExLTEtMS01MzgzMA_15173508-1d01-4c1e-a78a-3837bba60707"
      unitRef="usd">57750000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="i3638078c653d440592fd86d7ed70f018_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzMxLTEtMS0xLTUzODMw_88f55773-cce0-4741-b19d-59c8cf0a913d"
      unitRef="shares">303000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i3638078c653d440592fd86d7ed70f018_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzMxLTMtMS0xLTUzODMw_01a26bf7-348f-49c0-89c7-0eccc8b1a2b4"
      unitRef="usd">1000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i122dd0fc739d470caacfc05babb89ff6_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzMxLTUtMS0xLTUzODMw_eda22e68-ffb3-42c4-98cf-44bda868af16"
      unitRef="usd">9115000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzMxLTExLTEtMS01MzgzMA_a6a703f6-2d58-489a-9246-aa4c58e24dbf"
      unitRef="usd">9116000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <tndm:StockIssuedDuringPeriodSharesCommonStockWarrantsExercised
      contextRef="i3638078c653d440592fd86d7ed70f018_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzMyLTEtMS0xLTUzODMw_677ed356-5705-4a4c-8d24-e26e0801048b"
      unitRef="shares">295000</tndm:StockIssuedDuringPeriodSharesCommonStockWarrantsExercised>
    <tndm:StockIssuedDuringPeriodValueCommonStockWarrantsExercised
      contextRef="i122dd0fc739d470caacfc05babb89ff6_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzMyLTUtMS0xLTUzODMw_a92074dd-1877-47bb-8bd5-be4a3a636cae"
      unitRef="usd">2950000</tndm:StockIssuedDuringPeriodValueCommonStockWarrantsExercised>
    <tndm:StockIssuedDuringPeriodValueCommonStockWarrantsExercised
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzMyLTExLTEtMS01MzgzMA_d4530811-e2d4-40ed-860a-70838e922389"
      unitRef="usd">2950000</tndm:StockIssuedDuringPeriodValueCommonStockWarrantsExercised>
    <tndm:FairValueOfCommonStockWarrantsAtTimeOfExercise
      contextRef="i122dd0fc739d470caacfc05babb89ff6_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzMzLTUtMS0xLTUzODMw_341c15fc-0e85-47f4-938e-7370cbd85952"
      unitRef="usd">26335000</tndm:FairValueOfCommonStockWarrantsAtTimeOfExercise>
    <tndm:FairValueOfCommonStockWarrantsAtTimeOfExercise
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzMzLTExLTEtMS01MzgzMA_ded82274-e6e2-4650-ad1a-9b521fdd596b"
      unitRef="usd">26335000</tndm:FairValueOfCommonStockWarrantsAtTimeOfExercise>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt
      contextRef="i122dd0fc739d470caacfc05babb89ff6_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzM0LTUtMS0xLTUzODMw_513cbd8b-1b79-4343-ae27-edf117dd424b"
      unitRef="usd">85803000</us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzM0LTExLTEtMS01MzgzMA_06de5f10-9a54-46dd-83ce-1284f2c97454"
      unitRef="usd">85803000</us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebt>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebtSubsequentAdjustments
      contextRef="i122dd0fc739d470caacfc05babb89ff6_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzM1LTUtMS0xLTUzODMw_0fca12ca-ec67-422b-9f07-2be3e30e8575"
      unitRef="usd">34069000</us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebtSubsequentAdjustments>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebtSubsequentAdjustments
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzM1LTExLTEtMS01MzgzMA_19190589-5fe5-46a5-9eef-0774dfda5e36"
      unitRef="usd">34069000</us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebtSubsequentAdjustments>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i122dd0fc739d470caacfc05babb89ff6_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzM2LTUtMS0xLTUzODMw_ef054882-c8b3-4831-83e1-efae5a26c3dc"
      unitRef="usd">57725000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzM2LTExLTEtMS01MzgzMA_4a3ab33e-38a5-42ae-890f-ed3ae320e641"
      unitRef="usd">57725000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="ifaa16f829f584ddd9d6401c80da1fad2_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzM3LTctMS0xLTUzODMw_db4a75be-c8fb-4b87-942f-dec03e3a8c07"
      unitRef="usd">-20000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzM3LTExLTEtMS01MzgzMA_2e14999d-b19f-41c7-aa83-1dc755f8af58"
      unitRef="usd">-20000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="ifaa16f829f584ddd9d6401c80da1fad2_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzM4LTctMS0xLTUzODMw_48006fd4-01e6-4f69-a51a-acbf0f1f46f5"
      unitRef="usd">118000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzM4LTExLTEtMS01MzgzMA_38ed634f-ef68-4991-8d15-8d0a1bbe5bc2"
      unitRef="usd">118000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:NetIncomeLoss
      contextRef="i5cd4f860afa149f5bf8eb8ea3775a05d_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzM5LTktMS0xLTUzODMw_65595334-ac53-4932-b7f3-950cf45f99ce"
      unitRef="usd">-34382000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzM5LTExLTEtMS01MzgzMA_2c12b1a4-06b2-49a4-8fa6-4d028090f89f"
      unitRef="usd">-34382000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="idf551e3753ab435eb86a76e4023deaac_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQwLTEtMS0xLTUzODMw_84d7995e-d84a-4917-b87f-92f6329baa44"
      unitRef="shares">62335000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="idf551e3753ab435eb86a76e4023deaac_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQwLTMtMS0xLTUzODMw_dc2b125d-628a-44eb-9627-dfeeb134a23e"
      unitRef="usd">62000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i9e026c5f4f7e41e895c1870b973c7c67_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQwLTUtMS0xLTUzODMw_5ff1719c-35b2-48c1-9fd0-5b43797e3856"
      unitRef="usd">1025233000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i1a6d6e2abf9a49fa9b795a45262579de_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQwLTctMS0xLTUzODMw_cbcbeda1-9eb5-4d7e-997a-f36f92319548"
      unitRef="usd">220000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i6ddbe2433b2d40a5bb6c496384d2f198_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQwLTktMS0xLTUzODMw_f1413b3f-10f1-4fbc-a898-83b89d6760bd"
      unitRef="usd">-659210000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQwLTExLTEtMS01MzgzMA_848fe230-09aa-4403-b956-965167a32382"
      unitRef="usd">366305000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i23550a17b4a24bdeb3f82e2f24666728_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQxLTUtMS0xLTU5Nzc0_35fcbb54-2f74-4f9c-b115-1cbab2f0d349"
      unitRef="usd">-85803000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i289283dd2ae844ce90b0bfe36ae310ef_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQxLTktMS0xLTU5Nzc0_b0da469d-3f8e-451d-81b9-4e24632f2369"
      unitRef="usd">9049000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia08b5231fdb74e7fb6bc24eff09a90d7_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQxLTExLTEtMS02MjQ0NA_bcc40f64-1b3e-42d3-b7b3-5a1f28dffbbc"
      unitRef="usd">-76754000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="ie40c79451cdf45598c86826914a49d42_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQyLTEtMS0xLTU5Nzc0_165fa6b3-35c6-43f1-87a3-849a2a98a3b4"
      unitRef="shares">1129000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="ie40c79451cdf45598c86826914a49d42_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQyLTMtMS0xLTU5Nzc0_e62dfc89-da20-4c4d-9aac-b2b60a252592"
      unitRef="usd">2000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i87d4cf447e144904802d7df3a5567bbe_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQyLTUtMS0xLTU5Nzc0_77d8b461-81f0-4890-a30b-4d79d5dfd095"
      unitRef="usd">41821000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQyLTExLTEtMS02MjQ0MA_c5c07a70-3da7-4cd1-a91c-786cbbcd022d"
      unitRef="usd">41823000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross
      contextRef="ie40c79451cdf45598c86826914a49d42_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQzLTEtMS0xLTU5Nzc0_5408ff9e-55a4-4916-a72e-04654d09725f"
      unitRef="shares">38000</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="i87d4cf447e144904802d7df3a5567bbe_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQzLTUtMS0xLTU5Nzc0_8e1ccff9-ed97-43b3-9dee-cc3abb85c807"
      unitRef="usd">-1551000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQzLTExLTEtMS02MjQ1MQ_fa48d354-bc89-47e6-a808-4f9105661b68"
      unitRef="usd">-1551000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardGross>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="ie40c79451cdf45598c86826914a49d42_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQ0LTEtMS0xLTU5Nzc0_e25aa2c6-8a12-4301-9636-e23ea4dfb943"
      unitRef="shares">173000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i87d4cf447e144904802d7df3a5567bbe_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQ0LTUtMS0xLTU5Nzc0_8305b5e8-3960-41ac-b47a-8c00f5b9e17c"
      unitRef="usd">11069000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQ0LTExLTEtMS02MjQzNg_227a84e2-35d1-4769-997d-d4af9d1c40fd"
      unitRef="usd">11069000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <tndm:StockIssuedDuringPeriodSharesCommonStockWarrantsExercised
      contextRef="ie40c79451cdf45598c86826914a49d42_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQ1LTEtMS0xLTU5Nzc0_6d59ea80-fee6-417a-82f6-28f0fe6fa4c1"
      unitRef="shares">158000</tndm:StockIssuedDuringPeriodSharesCommonStockWarrantsExercised>
    <tndm:StockIssuedDuringPeriodValueCommonStockWarrantsExercised
      contextRef="i87d4cf447e144904802d7df3a5567bbe_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQ1LTUtMS0xLTU5Nzc0_251d0336-b50f-4182-967b-a58caad88d16"
      unitRef="usd">899000</tndm:StockIssuedDuringPeriodValueCommonStockWarrantsExercised>
    <tndm:StockIssuedDuringPeriodValueCommonStockWarrantsExercised
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQ1LTExLTEtMS02MjQyOA_92682904-1c3f-406a-8b0a-8ea97e443f3a"
      unitRef="usd">899000</tndm:StockIssuedDuringPeriodValueCommonStockWarrantsExercised>
    <tndm:FairValueOfCommonStockWarrantsAtTimeOfExercise
      contextRef="i87d4cf447e144904802d7df3a5567bbe_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQ2LTUtMS0xLTU5Nzc0_df1af2cf-e3c8-477f-9702-f522f73d2923"
      unitRef="usd">15500000</tndm:FairValueOfCommonStockWarrantsAtTimeOfExercise>
    <tndm:FairValueOfCommonStockWarrantsAtTimeOfExercise
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQ2LTExLTEtMS02MjQzMw_e0fc7b21-f723-45fc-9cdf-ce1c4b773b03"
      unitRef="usd">15500000</tndm:FairValueOfCommonStockWarrantsAtTimeOfExercise>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i87d4cf447e144904802d7df3a5567bbe_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQ3LTUtMS0xLTU5Nzc0_954b8e48-666f-4be0-a6f5-ecdf747ce676"
      unitRef="usd">61091000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQ3LTExLTEtMS02MjQzMQ_816f0b08-91ff-44ce-92a9-96b1f704989c"
      unitRef="usd">61091000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i01d28fbf55f840f8a6d25748d825df67_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQ4LTctMS0xLTU5Nzc0_642d1c2c-a4d8-4642-873d-1cd2c655a985"
      unitRef="usd">-693000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQ4LTExLTEtMS02MjQzMQ_07759cd3-d098-4213-b527-5110ac511b53"
      unitRef="usd">-693000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i01d28fbf55f840f8a6d25748d825df67_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQ5LTctMS0xLTU5Nzc0_a56b2557-accf-45ca-8a05-7292589352ab"
      unitRef="usd">-143000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQ5LTExLTEtMS02MjQzMQ_83639744-c755-489e-b99d-260ed3c5bdf8"
      unitRef="usd">-143000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:NetIncomeLoss
      contextRef="i2c0fecb789a948918b49e67cb90d6d92_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzUwLTktMS0xLTU5Nzc0_4d33039c-fc18-4e14-b079-fcd738b082d8"
      unitRef="usd">15566000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzUwLTExLTEtMS02MjQzMQ_3a460376-d146-4ea6-9d1f-3dfa0dc56e14"
      unitRef="usd">15566000</us-gaap:NetIncomeLoss>
    <us-gaap:SharesOutstanding
      contextRef="ieba006e05dce4151b12844723fe96c22_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzUxLTEtMS0xLTYyNDMx_a438f4ab-2170-4fe3-89df-5c7d2de7fe52"
      unitRef="shares">63833000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="ieba006e05dce4151b12844723fe96c22_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzUxLTMtMS0xLTYyNDMx_63d0dec3-f0a5-4758-8a04-a4dc13f9e555"
      unitRef="usd">64000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia2de17810cdc4398bf000589129da999_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzUxLTUtMS0xLTYyNDMx_c0a723d8-fee8-4369-8c35-7f7c9e84c906"
      unitRef="usd">1068259000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i8235229b76ef4db29e85557d92f164ef_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzUxLTctMS0xLTYyNDMx_539c01f8-d6b4-4a59-a8b4-5556af0aa3c8"
      unitRef="usd">-616000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i2c021cf12f1e400982abb02295ec4bcc_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzUxLTktMS0xLTYyNDMx_eb4a7197-90dc-4fc8-b1ae-d88a91abe396"
      unitRef="usd">-634595000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzUxLTExLTEtMS02MjQzMQ_4afefe0d-144b-452b-8bca-2980d4226f65"
      unitRef="usd">433112000</us-gaap:StockholdersEquity>
    <us-gaap:ProfitLoss
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzMtMS0xLTEtNTM4MzA_be932655-f92d-4ca8-a64e-148786a91d31"
      unitRef="usd">15566000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzMtMy0xLTEtNTM4MzA_7174a452-d753-48cf-88fa-815eb3a92ec9"
      unitRef="usd">-34382000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzMtNS0xLTEtNTM4MzA_a98d8d58-fe8c-40db-bb10-2eed9de17b76"
      unitRef="usd">-24753000</us-gaap:ProfitLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzUtMS0xLTEtNTM4MzA_e55a70c3-f364-4561-8f3d-7a938234882b"
      unitRef="usd">13845000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzUtMy0xLTEtNTM4MzA_69a9e7f9-050e-4f30-95ae-f988accc4e9a"
      unitRef="usd">10451000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzUtNS0xLTEtNTM4MzA_6bc3a3cf-19f0-4c5f-acb6-f2f1b3ab4caf"
      unitRef="usd">6072000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:AmortizationOfFinancingCostsAndDiscounts
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzYtMS0xLTEtNTM4MzA_12accc31-6a73-4b47-9b85-f308a200fe67"
      unitRef="usd">1727000</us-gaap:AmortizationOfFinancingCostsAndDiscounts>
    <us-gaap:AmortizationOfFinancingCostsAndDiscounts
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzYtMy0xLTEtNTM4MzA_c1783c55-39c7-4bb5-88e9-4f529647e453"
      unitRef="usd">10096000</us-gaap:AmortizationOfFinancingCostsAndDiscounts>
    <us-gaap:AmortizationOfFinancingCostsAndDiscounts
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzYtNS0xLTEtNTM4MzA_94f900de-0bc4-4094-b34c-5c3162f68541"
      unitRef="usd">0</us-gaap:AmortizationOfFinancingCostsAndDiscounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzctMS0xLTEtNTM4MzA_1661e782-14a8-4fd3-8175-04b31b56a6ab"
      unitRef="usd">2333000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzctMy0xLTEtNTM4MzA_b2df3401-06e7-463b-a68c-1ef1b220e535"
      unitRef="usd">3016000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzctNS0xLTEtNTM4MzA_30668dd9-2f72-4597-b95b-c787878f6dac"
      unitRef="usd">2322000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:InventoryWriteDown
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzgtMS0xLTEtNTM4MzA_73fb0b4c-731f-4911-8b0c-c89ad5e190f2"
      unitRef="usd">467000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzgtMy0xLTEtNTM4MzA_c0d47b7c-9b1a-4765-9280-9813dd1fa0bf"
      unitRef="usd">-57000</us-gaap:InventoryWriteDown>
    <us-gaap:InventoryWriteDown
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzgtNS0xLTEtNTM4MzA_c5ff61ee-4953-4285-a84e-641725a56c2b"
      unitRef="usd">2353000</us-gaap:InventoryWriteDown>
    <us-gaap:FairValueAdjustmentOfWarrants
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzktMS0xLTEtNTM4MzA_45380dd4-2fec-4e65-8e93-2838eeecc415"
      unitRef="usd">1386000</us-gaap:FairValueAdjustmentOfWarrants>
    <us-gaap:FairValueAdjustmentOfWarrants
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzktMy0xLTEtNTM4MzA_adb7904c-77f0-46b9-a420-cb78d29f1acb"
      unitRef="usd">17087000</us-gaap:FairValueAdjustmentOfWarrants>
    <us-gaap:FairValueAdjustmentOfWarrants
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzktNS0xLTEtNTM4MzA_03f4b30f-a6e1-413b-abd5-5a36b5bde07c"
      unitRef="usd">11075000</us-gaap:FairValueAdjustmentOfWarrants>
    <us-gaap:InvestmentIncomeNetAmortizationOfDiscountAndPremium
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzEwLTEtMS0xLTUzODMw_7ad5c227-290b-43b8-b211-0730576ea645"
      unitRef="usd">-365000</us-gaap:InvestmentIncomeNetAmortizationOfDiscountAndPremium>
    <us-gaap:InvestmentIncomeNetAmortizationOfDiscountAndPremium
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzEwLTMtMS0xLTUzODMw_d24075ff-5730-4748-aa2a-37a2214095e2"
      unitRef="usd">1296000</us-gaap:InvestmentIncomeNetAmortizationOfDiscountAndPremium>
    <us-gaap:InvestmentIncomeNetAmortizationOfDiscountAndPremium
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzEwLTUtMS0xLTUzODMw_df5273b0-af1d-446c-bf1b-01d54f9198c0"
      unitRef="usd">565000</us-gaap:InvestmentIncomeNetAmortizationOfDiscountAndPremium>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzExLTEtMS0xLTUzODMw_fa23bbc2-be27-4130-a192-b0c26fe9727f"
      unitRef="usd">0</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzExLTMtMS0xLTUzODMw_f7546aad-6439-4d43-87e2-805996027218"
      unitRef="usd">-2126000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzExLTUtMS0xLTUzODMw_bba617bb-9297-466a-912b-1e4d6bb2d668"
      unitRef="usd">-25000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:ShareBasedCompensation
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzEyLTEtMS0xLTUzODMw_ccd0385a-b8c5-4606-9d11-1fcc383b543d"
      unitRef="usd">60752000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzEyLTMtMS0xLTUzODMw_91ab431f-d57e-4222-82bf-96aecde91450"
      unitRef="usd">58431000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzEyLTUtMS0xLTUzODMw_39d2e381-ecda-4aac-a42e-33ae3d6cdc38"
      unitRef="usd">58071000</us-gaap:ShareBasedCompensation>
    <us-gaap:OtherOperatingActivitiesCashFlowStatement
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzE0LTEtMS0xLTUzODMw_25b63d43-91f9-42ed-bced-0c748fdd1b63"
      unitRef="usd">546000</us-gaap:OtherOperatingActivitiesCashFlowStatement>
    <us-gaap:OtherOperatingActivitiesCashFlowStatement
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzE0LTMtMS0xLTUzODMw_1e1bd1b3-358b-49bd-b172-de70d178b33a"
      unitRef="usd">38000</us-gaap:OtherOperatingActivitiesCashFlowStatement>
    <us-gaap:OtherOperatingActivitiesCashFlowStatement
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzE0LTUtMS0xLTUzODMw_b6ca6b24-4b69-4097-b9ec-69d7c8809640"
      unitRef="usd">-295000</us-gaap:OtherOperatingActivitiesCashFlowStatement>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzE2LTEtMS0xLTUzODMw_ff49ea01-260a-41ce-a37b-82b1fd603f86"
      unitRef="usd">30980000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzE2LTMtMS0xLTUzODMw_7f285bdd-b0bc-46c0-8132-8dc163ea9b0c"
      unitRef="usd">38837000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzE2LTUtMS0xLTUzODMw_7d320932-035a-4550-88b1-3ac822e599e7"
      unitRef="usd">13698000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzE3LTEtMS0xLTUzODMw_8728083f-71e0-437b-b5d0-e19c283177a0"
      unitRef="usd">4954000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzE3LTMtMS0xLTUzODMw_1a530f09-07f2-4a32-a9c7-b0eae53250e4"
      unitRef="usd">15361000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzE3LTUtMS0xLTUzODMw_56b55a16-4972-408d-b530-408bbaf51c68"
      unitRef="usd">30975000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzE4LTEtMS0xLTUzODMw_34eaef99-19e1-4381-ad04-bc4fd72fca25"
      unitRef="usd">1570000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzE4LTMtMS0xLTUzODMw_0561e36b-5f22-4f5e-8544-34f8ec63f06a"
      unitRef="usd">2427000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzE4LTUtMS0xLTUzODMw_57a2e67f-cbca-4494-9509-7558aa45bfa0"
      unitRef="usd">584000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzE5LTEtMS0xLTUzODMw_e5d3eb5f-b78c-4a12-a19d-032dc5a06f61"
      unitRef="usd">-1313000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzE5LTMtMS0xLTUzODMw_5468cf15-8e14-4503-b1a5-ee2d302b6502"
      unitRef="usd">-129000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentAssets
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzE5LTUtMS0xLTUzODMw_d614b8fd-c0d1-4518-ad37-365a97aecf23"
      unitRef="usd">580000</us-gaap:IncreaseDecreaseInOtherNoncurrentAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzIwLTEtMS0xLTUzODMw_0fa21d11-53d0-436c-8b72-b469d2cc44a8"
      unitRef="usd">10275000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzIwLTMtMS0xLTUzODMw_24b5fb4d-64fe-452e-9465-277d4d5029e5"
      unitRef="usd">1118000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzIwLTUtMS0xLTUzODMw_dc8f79c2-a44e-4446-831e-59d75e172ec9"
      unitRef="usd">8910000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzIxLTEtMS0xLTUzODMw_47afd998-ce3d-4e0e-a49b-8afb45e631b6"
      unitRef="usd">4640000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzIxLTMtMS0xLTUzODMw_155f3163-aa52-406d-bba0-40a9de0c9323"
      unitRef="usd">-3256000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzIxLTUtMS0xLTUzODMw_359dd6d4-8b92-4951-b4fb-115ce3f11036"
      unitRef="usd">4076000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzIyLTEtMS0xLTUzODMw_73073490-dc2a-4fcb-b6bf-75c8874404ae"
      unitRef="usd">17399000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzIyLTMtMS0xLTUzODMw_be3bbe7b-883e-42fb-9cb4-46948b219ac2"
      unitRef="usd">5339000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzIyLTUtMS0xLTUzODMw_ba0282e1-64b1-4e9f-b34a-5bbb2d6dd8be"
      unitRef="usd">4285000</us-gaap:IncreaseDecreaseInEmployeeRelatedLiabilities>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzIzLTEtMS0xLTUzODMw_b466760a-a79d-4cc0-864e-c60c63fa1a37"
      unitRef="usd">10611000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzIzLTMtMS0xLTUzODMw_593a6599-bd8e-46e1-bf29-182e844e98a9"
      unitRef="usd">7029000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzIzLTUtMS0xLTUzODMw_baa0e1e1-dd32-469c-aa21-45d904f8770f"
      unitRef="usd">4589000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzI0LTEtMS0xLTUzODMw_2d057c62-ca07-4f15-b1c9-7f3ee3dd31ec"
      unitRef="usd">6217000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzI0LTMtMS0xLTUzODMw_704fc6d9-8b7f-4d16-b0fa-afb114c5b5aa"
      unitRef="usd">5789000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOperatingLeaseLiability
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzI0LTUtMS0xLTUzODMw_a3cf3214-e996-4bdb-b319-f55a0270e71e"
      unitRef="usd">4216000</us-gaap:IncreaseDecreaseInOperatingLeaseLiability>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzI1LTEtMS0xLTUzODMw_f63bcc20-f1df-4a11-98e1-be768bd7d784"
      unitRef="usd">1421000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzI1LTMtMS0xLTUzODMw_5a0f320d-e635-458e-92e7-775a99277d12"
      unitRef="usd">3888000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzI1LTUtMS0xLTUzODMw_baf3119d-4f16-4c42-b313-cabe2d0b42b2"
      unitRef="usd">7412000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzI2LTEtMS0xLTUzODMw_fb2b9256-6678-4512-a3c1-0ffba2f01948"
      unitRef="usd">111359000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzI2LTMtMS0xLTUzODMw_4659a2f2-382d-4bb6-800c-d92d9e2f6d9e"
      unitRef="usd">24669000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzI2LTUtMS0xLTUzODMw_aa40e347-887a-4a9f-ae45-e60ab9762572"
      unitRef="usd">41906000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquireShortTermInvestments
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzI4LTEtMS0xLTUzODMw_c1a1cfe0-b396-4672-acf4-b6553519298a"
      unitRef="usd">733388000</us-gaap:PaymentsToAcquireShortTermInvestments>
    <us-gaap:PaymentsToAcquireShortTermInvestments
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzI4LTMtMS0xLTUzODMw_16bc2b84-4c14-403e-8781-905b897df236"
      unitRef="usd">497076000</us-gaap:PaymentsToAcquireShortTermInvestments>
    <us-gaap:PaymentsToAcquireShortTermInvestments
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzI4LTUtMS0xLTUzODMw_27be2eea-3945-40fe-b6b1-7dbdc3e8ebd0"
      unitRef="usd">164572000</us-gaap:PaymentsToAcquireShortTermInvestments>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfShorttermInvestments
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzI5LTEtMS0xLTUzODMw_58b9bcf8-bc57-4ff6-9ddd-abdc235d2528"
      unitRef="usd">545735000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfShorttermInvestments>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfShorttermInvestments
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzI5LTMtMS0xLTUzODMw_bf9dcaa0-cddf-4627-9420-5bd4da838fb1"
      unitRef="usd">180922000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfShorttermInvestments>
    <us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfShorttermInvestments
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzI5LTUtMS0xLTUzODMw_e7c8deec-564f-415c-8a76-36855740bda7"
      unitRef="usd">114908000</us-gaap:ProceedsFromMaturitiesPrepaymentsAndCallsOfShorttermInvestments>
    <us-gaap:ProceedsFromSaleOfShortTermInvestments
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzMwLTEtMS0xLTUzODMw_ec17406c-aa19-45e9-a576-52ab6423f4ca"
      unitRef="usd">24288000</us-gaap:ProceedsFromSaleOfShortTermInvestments>
    <us-gaap:ProceedsFromSaleOfShortTermInvestments
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzMwLTMtMS0xLTUzODMw_0d433319-0969-4715-8967-f577474c04eb"
      unitRef="usd">52392000</us-gaap:ProceedsFromSaleOfShortTermInvestments>
    <us-gaap:ProceedsFromSaleOfShortTermInvestments
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzMwLTUtMS0xLTUzODMw_266afd66-0631-48b5-822f-7981a9f50fba"
      unitRef="usd">12250000</us-gaap:ProceedsFromSaleOfShortTermInvestments>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzMxLTEtMS0xLTUzODMw_63c40671-1dd2-4776-ae7d-d8ff8419e27e"
      unitRef="usd">14180000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzMxLTMtMS0xLTUzODMw_ebbc67c4-af52-4a8d-a820-1c8901dd6cc2"
      unitRef="usd">27408000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzMxLTUtMS0xLTUzODMw_61dae192-8cd7-4c67-940c-6add4683982e"
      unitRef="usd">19541000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <tndm:PaymentsToAcquireIntangibleAssetsAndEquityInvestments
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzMyLTEtMS0xLTUzODMw_1aa7cefb-f8f8-4461-9a2c-8bd24be19b75"
      unitRef="usd">9331000</tndm:PaymentsToAcquireIntangibleAssetsAndEquityInvestments>
    <tndm:PaymentsToAcquireIntangibleAssetsAndEquityInvestments
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzMyLTMtMS0xLTUzODMw_27f1add0-b439-40a4-b3d5-834697c5992b"
      unitRef="usd">4886000</tndm:PaymentsToAcquireIntangibleAssetsAndEquityInvestments>
    <tndm:PaymentsToAcquireIntangibleAssetsAndEquityInvestments
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzMyLTUtMS0xLTUzODMw_eb4cb310-40d1-4993-ad3d-cb570389d875"
      unitRef="usd">0</tndm:PaymentsToAcquireIntangibleAssetsAndEquityInvestments>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzMzLTEtMS0xLTUzODMw_5ca13883-ee90-43a1-8be2-4f28cc7264a3"
      unitRef="usd">-186876000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzMzLTMtMS0xLTUzODMw_900c1c8b-5e35-491f-9bea-30a20ef75217"
      unitRef="usd">-296056000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzMzLTUtMS0xLTUzODMw_2c73951f-8f06-4598-a73f-2d66ad11306b"
      unitRef="usd">-56955000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzM1LTAtMS0xLTUzODMwL3RleHRyZWdpb246MWU4YjM4ZDY0ZGZjNGU5YjhkYWFlOWViMTEyMDI3MWZfNjM_0c8f9ca9-2564-4114-881c-aa6b1b7fd5ba"
      unitRef="usd">8809000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:ProceedsFromConvertibleDebt
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzM1LTEtMS0xLTUzODMw_d5219f3b-0679-4c6b-8ec4-01dc3e9e7149"
      unitRef="usd">0</us-gaap:ProceedsFromConvertibleDebt>
    <us-gaap:ProceedsFromConvertibleDebt
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzM1LTMtMS0xLTUzODMw_0d3c5ca5-6244-4944-b766-b9f839abe2e6"
      unitRef="usd">278691000</us-gaap:ProceedsFromConvertibleDebt>
    <us-gaap:ProceedsFromConvertibleDebt
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzM1LTUtMS0xLTUzODMw_103fc346-61ea-4ac0-8156-994252ad8ccc"
      unitRef="usd">0</us-gaap:ProceedsFromConvertibleDebt>
    <tndm:PaymentsForCappedCallTransactions
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzM2LTEtMS0xLTUzODMw_e69d50c8-68e7-40af-80dc-5608eab02004"
      unitRef="usd">0</tndm:PaymentsForCappedCallTransactions>
    <tndm:PaymentsForCappedCallTransactions
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzM2LTMtMS0xLTUzODMw_5ae52e13-3c44-4388-ac28-4a9f7c55801f"
      unitRef="usd">34069000</tndm:PaymentsForCappedCallTransactions>
    <tndm:PaymentsForCappedCallTransactions
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzM2LTUtMS0xLTUzODMw_7a9ca4be-0d10-42c8-b235-404525afa488"
      unitRef="usd">0</tndm:PaymentsForCappedCallTransactions>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzM5LTEtMS0xLTUzODMw_71753d5a-9231-4e98-b4cb-885841a92c44"
      unitRef="usd">51340000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzM5LTMtMS0xLTUzODMw_79d0b6a9-7a63-40cc-b33f-1cfc7187fa92"
      unitRef="usd">66866000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromIssuanceOfCommonStock
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzM5LTUtMS0xLTUzODMw_d20c1e17-a26d-4288-8291-cae2610e3936"
      unitRef="usd">23880000</us-gaap:ProceedsFromIssuanceOfCommonStock>
    <us-gaap:ProceedsFromWarrantExercises
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzQwLTEtMS0xLTUzODMw_20768c8a-a3bd-4981-bf43-c7e05a4788c9"
      unitRef="usd">592000</us-gaap:ProceedsFromWarrantExercises>
    <us-gaap:ProceedsFromWarrantExercises
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzQwLTMtMS0xLTUzODMw_8d7c33ca-3d54-4638-b51b-4c800946ba8c"
      unitRef="usd">2950000</us-gaap:ProceedsFromWarrantExercises>
    <us-gaap:ProceedsFromWarrantExercises
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzQwLTUtMS0xLTUzODMw_2e8d7757-8d21-4457-b967-d74aef57dfd0"
      unitRef="usd">327000</us-gaap:ProceedsFromWarrantExercises>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzQxLTEtMS0xLTUzODMw_023ac2e5-e0c2-41df-9471-7114af2cde9e"
      unitRef="usd">51932000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzQxLTMtMS0xLTUzODMw_513344af-65b0-494b-b60f-38ec12d9a5d2"
      unitRef="usd">314438000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzQxLTUtMS0xLTUzODMw_1131d9e7-c4c5-4d54-8626-74e2d0324c2b"
      unitRef="usd">24207000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzQyLTEtMS0xLTUzODMw_59cdbe98-d9aa-4d6f-b8c2-92e6e972b20c"
      unitRef="usd">153000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzQyLTMtMS0xLTUzODMw_39cf3833-8ee6-4641-81ff-9b3f55c46cd0"
      unitRef="usd">387000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzQyLTUtMS0xLTUzODMw_3d30fdde-3ccc-4908-932c-466904bdd03c"
      unitRef="usd">191000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzQzLTEtMS0xLTUzODMw_bece5b11-e6e5-4879-9e17-4a79c68ab9c1"
      unitRef="usd">-23432000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzQzLTMtMS0xLTUzODMw_e0238673-e074-416e-a0fd-011524a2cf6f"
      unitRef="usd">43438000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzQzLTUtMS0xLTUzODMw_06b54545-d392-4adf-97ea-61f6c588657c"
      unitRef="usd">9349000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzQ0LTEtMS0xLTUzODMw_0eda2c8e-7696-44bc-a9a4-c46a7ae32794"
      unitRef="usd">94613000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ia35d79f7a8cd4f3e92d3a94270701280_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzQ0LTMtMS0xLTUzODMw_1a5b3505-878b-46bd-b59c-c4bb9aa15a26"
      unitRef="usd">51175000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i1be26f57e9264ee580a0723df09ac283_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzQ0LTUtMS0xLTUzODMw_4dacf097-19b6-4cb3-a723-dde4a8b0f297"
      unitRef="usd">41826000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzQ1LTEtMS0xLTUzODMw_c3135650-2c06-4d15-9626-f170c65b532e"
      unitRef="usd">71181000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzQ1LTMtMS0xLTUzODMw_fc7a27dd-f1f7-4997-9de8-3e71efaacfdd"
      unitRef="usd">94613000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ia35d79f7a8cd4f3e92d3a94270701280_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzQ1LTUtMS0xLTUzODMw_5d874eec-7476-41fc-8529-e88ec9294e42"
      unitRef="usd">51175000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzQ3LTEtMS0xLTUzODMw_c70868ab-3cf7-4ee6-9136-4082cc4faaae"
      unitRef="usd">4313000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzQ3LTMtMS0xLTUzODMw_6c801ab0-d3ef-4095-9c96-7601a039bd9d"
      unitRef="usd">2707000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzQ3LTUtMS0xLTUzODMw_55ddfd9d-7de5-4eae-9b4f-c6a16146c14c"
      unitRef="usd">0</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaid
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzQ4LTEtMS0xLTUzODMw_e5730f20-028e-4855-9af9-72aaf589ddbf"
      unitRef="usd">260000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzQ4LTMtMS0xLTUzODMw_3a875559-737c-4ec5-b40e-0f2cdf001235"
      unitRef="usd">177000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzQ4LTUtMS0xLTUzODMw_93f06d0c-91c3-448b-8f95-f1bd2597738e"
      unitRef="usd">67000</us-gaap:IncomeTaxesPaid>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzUwLTEtMS0xLTUzODMw_bea1ddac-3454-4aaa-94fa-99b518591a19"
      unitRef="usd">15191000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzUwLTMtMS0xLTUzODMw_5c5c9988-ea5a-4349-be19-ce9558c3cb52"
      unitRef="usd">11022000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzUwLTUtMS0xLTUzODMw_6af7db7c-2aba-4f8b-b026-c04a6808d896"
      unitRef="usd">11635000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzUxLTEtMS0xLTUzODMw_802e1315-a8bb-4d0f-a774-52e1ccffb5c8"
      unitRef="usd">1034000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzUxLTMtMS0xLTUzODMw_f954c21a-bafa-44c9-9dbe-b1a23ae09e71"
      unitRef="usd">1082000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzUxLTUtMS0xLTUzODMw_afc46c40-1ac5-47e1-9a4d-181d80885423"
      unitRef="usd">2134000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <tndm:IntangibleCostsInOtherCurrentAndOtherLongTermLiabilities
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzUyLTEtMS0xLTUzODMw_2dc3bb91-636a-4454-91e3-e22e7822e514"
      unitRef="usd">1029000</tndm:IntangibleCostsInOtherCurrentAndOtherLongTermLiabilities>
    <tndm:IntangibleCostsInOtherCurrentAndOtherLongTermLiabilities
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzUyLTMtMS0xLTUzODMw_6f17093b-61f5-47a8-8808-a63426ccdeb9"
      unitRef="usd">2244000</tndm:IntangibleCostsInOtherCurrentAndOtherLongTermLiabilities>
    <tndm:IntangibleCostsInOtherCurrentAndOtherLongTermLiabilities
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTUvZnJhZzo1ZDEzZGRjM2IxZDI0ZjVhYjFjNGNkNWQ4NDFkYjFkNy90YWJsZTo4MGZhMTM0YjFhYjQ0NTdhYWI2ODIyYzM4OWIzMDczMS90YWJsZXJhbmdlOjgwZmExMzRiMWFiNDQ1N2FhYjY4MjJjMzg5YjMwNzMxXzUyLTUtMS0xLTUzODMw_b5060809-32b9-44b3-b583-0c8178a65af3"
      unitRef="usd">0</tndm:IntangibleCostsInOtherCurrentAndOtherLongTermLiabilities>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMjEvZnJhZzo5Nzg3NTMxNGJmYjQ0NGMwYTE0NTA1NThlZTcyNWI0NS90ZXh0cmVnaW9uOjk3ODc1MzE0YmZiNDQ0YzBhMTQ1MDU1OGVlNzI1YjQ1XzQzOTgwNDY1MjMyODQ_735ae2d7-b42d-427f-b24e-a43282767d1a">Organization and Basis of Presentation&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;The Company&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Tandem Diabetes Care, Inc. is a medical device company focused on the design, development and commercialization of technology solutions for people living with diabetes. Tandem Diabetes Care, Inc. is incorporated in the state of Delaware. Unless the context requires otherwise, the terms the &#x201c;Company&#x201d; or &#x201c;Tandem&#x201d; refer to Tandem Diabetes Care, Inc., together with its wholly-owned subsidiaries in the U.S. and Canada.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company manufactures, sells and supports insulin pump products that are designed to address the evolving needs and preferences of differentiated segments of the insulin-dependent diabetes market. The Company&#x2019;s manufacturing, sales and support activities principally focus on the t:slim X2 Insulin Delivery System (t:slim X2), the Company&#x2019;s flagship pump platform which is capable of remote software updates and is designed to display continuous glucose monitoring (CGM) sensor information directly on the pump home screen. The Company&#x2019;s insulin pump products are compatible with other complementary digital health offerings, such as the t:connect cloud-based diabetes management application (t:connect) and the Tandem Device Updater, a Mac and PC-compatible tool which offers and supports updates of the Company&#x2019;s insulin pump software from a personal computer. The Company&#x2019;s insulin pump products are generally considered durable medical equipment and have an expected lifespan of at least four years. In addition to insulin pumps, the Company sells disposable products that are used together with the pumps and are replaced every few days, including cartridges for storing and delivering insulin, and infusion sets that connect the insulin pump to a user&#x2019;s body, as well as other accessories for enhanced usability.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Basis of Presentation and Principles of Consolidation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has prepared the accompanying consolidated financial statements in accordance with accounting principles generally accepted in the United States of America, or U.S. GAAP. The statements include the accounts of Tandem Diabetes Care, Inc. and its wholly-owned subsidiaries in the U.S. and Canada. All significant intercompany balances and transactions have been eliminated in consolidation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The functional currency of the Company&#x2019;s foreign subsidiary is the local currency. The Company translates the financial statements of its foreign subsidiary into U.S. dollars using period-end exchange rates for assets and liabilities and average exchange rates for each period for revenue, costs and expenses. Translation related adjustments are included in other comprehensive income (loss), and in accumulated other comprehensive income (loss) in the stockholders&#x2019; equity section of the Company&#x2019;s consolidated balance sheets. Foreign exchange gains or losses resulting from balances denominated in a currency other than the functional currency are recognized in interest income and other, net in the Company&#x2019;s consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <tndm:NatureOfOperationPolicyTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNzE1L2ZyYWc6NThmOGYyNjlmMTkzNDA4MTljNGZiYmMxMjZhYzVlNWEvdGV4dHJlZ2lvbjo1OGY4ZjI2OWYxOTM0MDgxOWM0ZmJiYzEyNmFjNWU1YV85MzQ1ODQ4ODQxNTcy_1fac19f9-6476-47e9-ae41-6f8509bcf1f0">&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;The Company&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Tandem Diabetes Care, Inc. is a medical device company focused on the design, development and commercialization of technology solutions for people living with diabetes. Tandem Diabetes Care, Inc. is incorporated in the state of Delaware. Unless the context requires otherwise, the terms the &#x201c;Company&#x201d; or &#x201c;Tandem&#x201d; refer to Tandem Diabetes Care, Inc., together with its wholly-owned subsidiaries in the U.S. and Canada.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company manufactures, sells and supports insulin pump products that are designed to address the evolving needs and preferences of differentiated segments of the insulin-dependent diabetes market. The Company&#x2019;s manufacturing, sales and support activities principally focus on the t:slim X2 Insulin Delivery System (t:slim X2), the Company&#x2019;s flagship pump platform which is capable of remote software updates and is designed to display continuous glucose monitoring (CGM) sensor information directly on the pump home screen. The Company&#x2019;s insulin pump products are compatible with other complementary digital health offerings, such as the t:connect cloud-based diabetes management application (t:connect) and the Tandem Device Updater, a Mac and PC-compatible tool which offers and supports updates of the Company&#x2019;s insulin pump software from a personal computer. The Company&#x2019;s insulin pump products are generally considered durable medical equipment and have an expected lifespan of at least four years. In addition to insulin pumps, the Company sells disposable products that are used together with the pumps and are replaced every few days, including cartridges for storing and delivering insulin, and infusion sets that connect the insulin pump to a user&#x2019;s body, as well as other accessories for enhanced usability.&lt;/span&gt;&lt;/div&gt;</tndm:NatureOfOperationPolicyTextBlock>
    <tndm:ProductLifeSpanTerm
      contextRef="i90372413af3a4445a6dc6dffdf4edd93_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNzE1L2ZyYWc6NThmOGYyNjlmMTkzNDA4MTljNGZiYmMxMjZhYzVlNWEvdGV4dHJlZ2lvbjo1OGY4ZjI2OWYxOTM0MDgxOWM0ZmJiYzEyNmFjNWU1YV80Mzk4MDQ2NTE2NjI4_afb9d736-a3d1-42e9-8cc9-9045cd5934ca">P4Y</tndm:ProductLifeSpanTerm>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNzU4L2ZyYWc6OWFmZjUxNmI4YWZlNDM3YTg4Zjg4MTdlNmY0YmJlNmIvdGV4dHJlZ2lvbjo5YWZmNTE2YjhhZmU0MzdhODhmODgxN2U2ZjRiYmU2Yl85MzQ1ODQ4ODM3MzIy_06ab9a1d-9c0e-40f7-af3f-eddbe8577678">&lt;div style="margin-top:10pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Basis of Presentation and Principles of Consolidation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has prepared the accompanying consolidated financial statements in accordance with accounting principles generally accepted in the United States of America, or U.S. GAAP. The statements include the accounts of Tandem Diabetes Care, Inc. and its wholly-owned subsidiaries in the U.S. and Canada. All significant intercompany balances and transactions have been eliminated in consolidation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The functional currency of the Company&#x2019;s foreign subsidiary is the local currency. The Company translates the financial statements of its foreign subsidiary into U.S. dollars using period-end exchange rates for assets and liabilities and average exchange rates for each period for revenue, costs and expenses. Translation related adjustments are included in other comprehensive income (loss), and in accumulated other comprehensive income (loss) in the stockholders&#x2019; equity section of the Company&#x2019;s consolidated balance sheets. Foreign exchange gains or losses resulting from balances denominated in a currency other than the functional currency are recognized in interest income and other, net in the Company&#x2019;s consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:SignificantAccountingPoliciesTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMjQvZnJhZzo0NGIyZmYzZjBhYzE0M2U4OGFmZDUwNjRlNTEzMGVkMC90ZXh0cmVnaW9uOjQ0YjJmZjNmMGFjMTQzZTg4YWZkNTA2NGU1MTMwZWQwXzI4NTgx_d10b7336-bb88-4c86-9b8e-83f984644192">Summary of Significant Accounting Policies&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;There have been no material changes to the Company&#x2019;s significant accounting policies during the year ended December&#160;31, 2021, other than the adoption of ASU No. 2020-06, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Accounting for Convertible Instruments and Contracts in an Entity&#x2019;s Own Equity&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, effective January 1, 2021 (see Note 7, &#x201c;Debt&#x201d;).&lt;/span&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preparation of the consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and judgments that affect the reported amounts of assets, liabilities, revenues and expenses and the disclosure of contingent assets and liabilities in the Company&#x2019;s consolidated financial statements and accompanying notes as of the date of the consolidated financial statements. Some of those judgments can be subjective and complex, and therefore, actual results could differ materially from those estimates under different assumptions or conditions.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Cash Equivalents&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company considers all highly liquid investments with a maturity of three months or less from the date of purchase and that can be liquidated without prior notice or penalty to be cash equivalents.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Short-Term Investments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s short-term investments are classified as available-for-sale securities. Such securities are carried at fair value as determined by prices for identical or similar securities at the balance sheet date. The Company&#x2019;s short-term investments consist of Level 1 and Level 2 financial instruments in the fair value hierarchy. The net unrealized gains or losses on available-for-sale securities that are not related to credit factors are reported as a component of other comprehensive income (loss) within the statements of operations and accumulated other comprehensive income (loss) as a separate component of stockholders&#x2019; equity on the consolidated balance sheets. The Company determines realized gains or losses on the sale of available-for-sale securities using the specific identification method and includes net realized gains and losses as a component of other income or expense within the consolidated statements of operations. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company reviews its available-for-sale debt securities for credit losses quarterly, considering a variety of factors, including the significance of the decline in value as compared to the amortized cost basis; underlying factors contributing to a decline in the prices of securities in a single asset class; the security&#x2019;s relative performance versus its peers, sector or asset class; the market and economy in general; views of external investment managers; news or financial information that has been released specific to the investee; and the outlook for the overall industry in which the investee operates. Losses on available-for-sale debt securities as a result of credit factors are recognized by recording an impairment loss as a component of other income or expense within the consolidated statements of operations and a corresponding allowance for credit losses. The Company has not recognized any impairment losses related to its short-term investments during the years ended December 31, 2021, 2020 and 2019.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Accounts Receivable&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company grants credit to various customers in the ordinary course of business and is paid directly by customers who use its products, distributors and third-party insurance payors. The Company maintains an allowance for its current estimate of expected credit losses. Provisions for expected credit losses are estimated based on historical experience, assessment of specific risk, review of outstanding invoices, forecasts about the future, and various assumptions and estimates that are believed to be reasonable under the circumstances, which included the Company&#x2019;s estimates of credit risks as a result of the coronavirus pandemic (COVID-19 global pandemic). Uncollectible accounts are written off against the allowance after appropriate collection efforts have been exhausted and when it is deemed that a balance is uncollectible.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Concentration of Credit Risk&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Financial instruments that potentially subject the Company to concentrations of credit risk consist primarily of cash, cash equivalents, short-term investments and accounts receivable. The Company maintains deposit accounts in federally insured financial institutions in excess of federally insured limits. The Company also maintains investments in money market funds that are not federally insured. Additionally, the Company has established guidelines regarding investment instruments and their maturities, which are designed to maintain preservation of principal and liquidity.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes customers who accounted for 10% or more of accounts receivable, net:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:74.706%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.631%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer A&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer B&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;* Amount related to the respective customer represented less than 10% for the period presented.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes customers who accounted for 10% or more of total sales for the periods presented:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.243%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.631%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer B&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15.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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer C&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/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;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:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;* Amount related to the respective customer represented less than 10% for the period presented.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Fair Value of Financial Instruments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The carrying amounts of cash and cash equivalents, accounts receivable, accounts payable, accrued expenses, and employee-related liabilities are reasonable estimates of their fair values because of the short-term nature of these assets and liabilities. Short-term investments are carried at fair value. The carrying value and estimated fair value of certain of the Company&#x2019;s common stock warrants was determined using the Black-Scholes pricing model as of&#160;December&#160;31, 2021 and 2020 (see Note 5, &#x201c;Fair Value Measurements&#x201d;).&lt;/span&gt;&lt;/div&gt;The Company&#x2019;s convertible senior notes are carried at amortized cost on the consolidated balance sheets (see Note 7, &#x201c;Debt&#x201d;). The Company determined the fair value of its convertible senior notes to be $430.0&#160;million and $333.5&#160;million at December&#160;31, 2021 and 2020, respectively, based on Level 2 quoted market prices as of that date&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Valuation of Inventories&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories are valued at the lower of cost or net realizable value, determined by the first-in, first-out method. Inventory is recorded using standard cost, including material, labor and overhead costs. The Company periodically reviews inventories for potential impairment and adjusts inventory for potentially excess or obsolete goods to state inventories at their net realizable value. Factors influencing these adjustments include quantities on hand and firm purchase commitments, expectations of future use, judgments based on quality control testing data and assessments of the likelihood of scrapping or obsoleting certain inventories based on future demand for its products and market conditions.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Long-Lived Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Property and Equipment&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment, which primarily consist of office furniture and equipment, manufacturing equipment, scientific equipment, computer equipment, and leasehold improvements, are stated at cost, less accumulated depreciation. Property and equipment are depreciated over the estimated useful lives of the assets, generally &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODYxL2ZyYWc6NjQ4NzE1YWU3NjdmNDc4YWFlNGQwZTc2ZmIwNmM1NjAvdGV4dHJlZ2lvbjo2NDg3MTVhZTc2N2Y0NzhhYWU0ZDBlNzZmYjA2YzU2MF8xMDk5NTExNjM2MjU4_2294d737-0a20-4b4f-bbda-2c8c8ccd9b82"&gt;three&lt;/span&gt; to seven years, using the straight-line method. Leasehold improvements are amortized over the lesser of the estimated useful lives of the assets or the remaining lease term. Maintenance and repair costs are expensed as incurred.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Operating Lease Right-of-Use Assets and Liabilities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Lease right-of-use assets represent the Company&#x2019;s right to use an underlying asset for the lease term and lease liabilities represent its obligation to make lease payments arising from the lease. Operating lease right-of-use assets and liabilities are recognized when the Company takes possession of the leased property (the Commencement Date) based on the present value of lease payments over the lease term. For lease agreements entered into or reassessed after the adoption of ASC 842 &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Leases&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, the Company combines lease and non-lease components. Rent expense on noncancelable leases containing known future scheduled rent increases is recorded on a straight-line basis over the term of the respective leases beginning on the Commencement Date. The difference between rent expense and rent paid is accounted for as a component of operating lease right-of-use assets on the Company&#x2019;s consolidated balance sheets. Landlord improvement allowances and other similar lease incentives are recorded as a reduction of the right-of-use leased assets, and are amortized on a straight-line basis as a reduction to operating lease costs.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Cost Basis Equity Investment&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;During the second quarter of 2021, the Company made an $8.1&#160;million equity investment in a private company, which represented less than 5% of the outstanding equity of that company. The investment is recorded using the cost minus impairment adjusted for changes in observable prices and is included as a component of other long-term assets on the consolidated balance sheet at December 31, 2021. We monitor this investment to evaluate whether any increase or decline in its value has occurred, based on the implied value of recent company financings, public market prices of comparable companies and general market conditions.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Intangible Assets Subject to Amortization&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Finite-lived intangible assets are recorded at cost, net of accumulated amortization and, if applicable, impairment charges. Amortization of finite-lived intangible assets is recognized over their estimated useful lives on a straight-line basis. The Company reviews its finite-lived intangible assets for impairment whenever events or changes in circumstances indicate that the carrying amount of an asset may not be recoverable. The Company has not recognized any impairment losses during the years ended December&#160;31, 2021, 2020 and 2019.&lt;/span&gt;&lt;/div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;On June 24, 2020, the Company acquired Sugarmate, Inc. (Sugarmate), the developer of a mobile app designed to help people visualize diabetes therapy data in innovative ways. The Sugarmate acquisition was accounted for as an acquisition of assets in accordance with ASU No. 2017-01,&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%"&gt; Business Combinations (Topic 805) Clarifying the Definition of a Business&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;. Substantially all of the fair value was concentrated in a single identifiable asset, a technology-based intangible asset. The purchased intangible asset is being amortized on a straight-line basis over an estimated useful life of five years. The Company&#x2019;s results of operations include the operating results of Sugarmate since the date of acquisition, the amounts of which were not material.&lt;/span&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Revenue Recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue is generated primarily from sales of insulin pumps, disposable insulin cartridges and infusion sets to individual customers with third-party insurance coverage and through a network of distributors that resell the products to insulin-dependent diabetes customers. The Company recognizes revenue when it transfers control of the promised goods or services to customers in an amount that reflects the consideration to which the Company expects to be entitled in exchange for those goods or services, net of estimated returns.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Revenue Recognition for Arrangements with Multiple Performance Obligations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company considers the individual deliverables in its product offering as separate performance obligations. The transaction price is determined based on the consideration expected to be received, based either on the stated value in contractual arrangements or the estimated cash to be collected in non-contracted arrangements. The Company allocates the consideration to the individual performance obligations and recognizes the consideration based on when the performance obligation is satisfied, considering whether or not this occurs at a point in time or over time. Generally, insulin pumps, cartridges, infusion sets and accessories are deemed performance obligations that are satisfied at a point in time when the customer obtains control of the promised good, which typically is upon shipment for our distributor arrangements and upon receipt for sales directly to individual customers. Complementary products, such as t:connect and the Tandem Device Updater, are considered distinct performance obligations that are satisfied over time, as access and support for these products is provided throughout the typical four-year warranty period of the insulin pumps. Accordingly, revenue related to the complementary products is deferred and recognized over a four-year period. Where there is no standalone value for the complementary product, the Company determines its value by applying the expected cost plus a margin approach and then allocates the residual to the insulin pumps. Deferred revenue related to these performance obligations that are satisfied over time was included in the following consolidated balance sheet accounts in the amounts shown as of December 31, 2021 and 2020 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.426%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.344%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.346%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,625&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,508&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other long-term liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,940&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,426&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,565&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,934&#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:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Sales Returns&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company offers a 30-day right of return to customers in the U.S. and Canada from the date of shipment of its insulin pumps, provided a physician&#x2019;s confirmation of the medical reason for the return is received. Estimated allowances for sales returns are based on historical returned quantities as compared to pump shipments in those same periods of return, adjusted for known or expected changes in the marketplace when appropriate. The amount recorded in deferred revenue on the Company&#x2019;s consolidated balance sheets for allowances for sales returns was $0.6 million and $0.6 million at December&#160;31, 2021 and 2020, respectively. Actual product returns have not differed materially from estimated amounts recorded in the accompanying consolidated financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Warranty Reserve&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company generally provides a four-year warranty on its insulin pumps to end user customers and may replace any pumps that do not function as intended in accordance with the product specifications within the warranty period.&#160;Insulin pumps returned to the Company may be refurbished and redeployed.&#160;Additionally, the Company offers a six-month warranty on disposable insulin cartridges and infusion sets. Estimated warranty costs are recorded at the time of shipment, and the Company reevaluates the estimate of the warranty reserve obligation at each reporting period. Warranty costs are estimated primarily based on the current expected product replacement cost and expected replacement rates utilizing historical experience. &lt;/span&gt;&lt;span style="color:#212529;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Experience has shown that initial data for any given pump version may be insufficient; therefore, our process relies on long-term historical averages until sufficient data are available. As actual experience becomes available, we use the data to update the historical averages. &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company may make further adjustments to the warranty reserve when deemed appropriate, giving additional consideration to the length of time each pump version has been in the field and revised future expectations of performance based on new features and capabilities that may become available through Tandem Device Updater.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table provides a reconciliation of the changes in product warranty liabilities for the years ended December&#160;31, 2021, 2020 and 2019 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at beginning of the year&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,075&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,724&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Provision for warranties issued during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,604&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,135&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,335&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Settlements made during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(18,768)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13,736)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,167)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Decrease in warranty estimates&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(510)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,048)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(582)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at end of the year&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,401&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,075&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,724&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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;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;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:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2021 and December 31, 2020, total product warranty reserves of $30.4 million and $22.1 million, respectively, were included in the following consolidated balance sheet accounts (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&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:72.730%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.621%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other current liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,076&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,409&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other long-term liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,325&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,666&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total warranty reserve&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,401&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,075&#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:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Common Stock Warrant Liabilities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company accounts for certain stock warrants as a liability in the consolidated financial statements when they contain a provision within the warrant contracts that could require cash settlement in the event the Company did not have an active registration statement. The fair value of these common stock warrants is remeasured at each financial reporting period with any changes in fair value being recognized as a component of other income (expense) in the accompanying statements of operations and comprehensive income (loss).&#160;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock-Based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Stock-based compensation cost is measured at the grant date based on the estimated fair value of the award, and the portion that is ultimately expected to vest is recognized as compensation expense over the requisite service period on a straight-line basis. The Company estimates the fair value of stock options issued under the Company&#x2019;s Amended and Restated 2013 Stock Incentive Plan (2013 Plan) and the fair value of the employees&#x2019; purchase rights under the Company&#x2019;s 2013 Employee Stock Purchase Plan (ESPP) using the Black-Scholes option-pricing model on the date of grant. The Black-Scholes option-pricing model requires the use of assumptions about a number of variables, including stock price volatility, expected term, dividend yield and risk-free interest rate (see Note 8, &#x201c;Stockholders&#x2019; Equity&#x201d;). The fair value of restricted stock unit (RSU) awards issued under the Company&#x2019;s 2013 Plan that vest solely based on service is estimated based on the fair market value of the underlying stock on the date of grant. The fair value of RSU awards issued under the 2013 Plan that vest based upon the Company&#x2019;s actual performance relative to predefined performance metrics is estimated based on the fair market value of the underlying stock on the date of grant and the probability that the specified performance criteria will be met, subject to the awardee&#x2019;s continuing service through the measurement date. At each reporting period, we reassess the probability of the achievement of such performance metrics. Any expense change resulting from an adjustment in the estimated shares to be released is recorded in the period of adjustment.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Shipping and Handling Expenses&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Shipping and handling expenses associated with product delivery are included within cost of sales in the Company&#x2019;s statements of operations. Amounts billed to a customer for shipping and handling are reported as revenues.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Research and Development Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;All research and development costs are charged to expense as incurred. Such costs include personnel-related costs, including stock-based compensation, supplies, license fees, development prototypes, outside design and testing services, depreciation, allocated facilities and information services, clinical trial costs, milestone payments under the Company&#x2019;s development and commercialization agreements and other indirect costs.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Income Taxes&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company uses the asset and liability method of accounting for income taxes. Deferred tax assets or liabilities are recognized based on the temporary differences between financial statement and income tax bases of assets and liabilities using enacted tax rates in effect for the years in which the differences are expected to reverse. Tax law and rate changes are reflected in income in the period such changes are enacted. A valuation allowance is recorded when it is more likely than not that some of the deferred tax assets will not be realized. The Company includes interest and penalties related to income taxes, including unrecognized tax benefits, within income tax expense.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s income tax returns are based on calculations and assumptions that are subject to examination by the Internal Revenue Service and other tax authorities. In addition, the calculation of the Company&#x2019;s tax liabilities involves dealing with uncertainties in the application of complex tax regulations. The Company recognizes liabilities for uncertain tax positions using a two-step approach. The first step is to evaluate the tax position for recognition by determining if the weight of available evidence indicates that it is more likely than not that the position will be sustained on audit, including resolution of related appeals or litigation processes, if any. The second step is to measure the tax benefit as the largest amount that is more than&#160;50%&#160;likely of being realized upon settlement. While the Company believes it has appropriate support for the positions taken on its tax returns, the Company regularly assesses the potential outcomes of examinations by tax authorities in determining the adequacy of its provision for income taxes. The Company continually assesses the likelihood and amount of potential revisions and adjusts the income tax provision, income taxes payable and deferred taxes in the period in which the facts that give rise to a revision become known.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Significant judgment is required in determining the Company&#x2019;s provision for income taxes, deferred tax assets and liabilities and the valuation allowance recorded against net deferred tax assets. Deferred tax assets and liabilities are determined using the enacted tax rates in effect for the years in which those tax assets are expected to be realized. A valuation allowance is established when it is more likely than not the future realization of all or some of the deferred tax assets will not be achieved. The evaluation of the need for a valuation allowance is performed on a jurisdiction-by-jurisdiction basis, and includes a review of all available positive and negative evidence. Factors reviewed include projections of pre-tax book income for the foreseeable future, determination of cumulative pre-tax book income after permanent differences, earnings history, and reliability of forecasting. The Company will continue to assess the need for a valuation allowance on its deferred tax assets by evaluating both positive and negative evidence that may exist. Any adjustment to the net deferred tax asset valuation allowance would be recorded in the statement of operations for the period that the adjustment is determined to be required.&lt;/span&gt;&lt;/div&gt;The Company is required to file federal and state income tax returns in the United States and various other state jurisdictions, and a corporation income tax return in Canada. The preparation of these income tax returns requires the Company to interpret the applicable tax laws and regulations in effect in such jurisdictions, which could affect the amount of tax paid by the Company. An amount is accrued for the estimate of additional tax liability, including interest and penalties, for any uncertain tax positions taken or expected to be taken in an income tax return. The Company reviews and updates the accrual for uncertain tax positions as more definitive information becomes available (see Note 10, &#x201c;Income Taxes.&#x201d;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Comprehensive Income (Loss)&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;All components of comprehensive income (loss), including net income (loss), are reported in the consolidated financial statements in the period in which they are recognized. Comprehensive income (loss) is defined as the change in equity during a period from transactions and other events and circumstances from non-owner sources, including unrealized gains and losses on marketable securities and foreign currency translation adjustments.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Net Income (Loss) Per Share&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Basic net income (loss) per share is calculated by dividing the net income (loss) by the weighted average number of common shares outstanding for the period, without consideration for common stock equivalents. Diluted net income per share reflects the potential dilution that would occur if securities exercisable for or convertible into common stock were exercised for or converted into common stock. Dilutive common share equivalents are comprised of stock options and unvested RSUs outstanding under the Company&#x2019;s stock plans, potential awards to be granted pursuant to the ESPP, and common stock warrants, each calculated using the treasury stock method; and shares issuable upon conversion of the convertible senior notes calculated using the if-converted method. For common stock warrants that are recorded as a liability in the accompanying consolidated balance sheets, the calculation of diluted loss per share requires that, to the extent the average market price of the underlying shares for the reporting period exceeds the exercise price of the warrants and the presumed exercise of the warrants is dilutive to loss per share for the period, an adjustment is made to net loss used in the calculation to remove the change in fair value of the warrants from the numerator for the period. Likewise, an adjustment to the denominator is required to reflect the related dilutive shares, if any, under the treasury stock method.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the years ended December 31, 2020 and 2019, there was no difference in the weighted average number of shares used to calculate basic and diluted net loss per share due to the Company&#x2019;s net loss position. For the year ended December&#160;31, 2021, the numerator and denominator of the diluted net income per share computation were calculated as follows (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:80.332%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.468%"/&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="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income - basic and diluted&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,566&#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;td colspan="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;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;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares outstanding - basic&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,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="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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Dilutive common share equivalents:&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 2px 10pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Options to purchase common stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,129&#160;&lt;/span&gt;&lt;/td&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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Warrants to purchase common stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;157&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Awards to be granted under the ESPP&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="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;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares outstanding - diluted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64,349&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="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:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Potentially dilutive securities outstanding and not included in the calculation of diluted net loss per share (because inclusion would be anti-dilutive) are as follows (in thousands, in common stock equivalent shares):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.243%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.631%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Options to purchase common stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,124&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,021&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,619&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Warrants to purchase common stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;379&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;611&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Awards granted under the ESPP&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Convertible senior notes (if-converted)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,554&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,605&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;N/A&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 colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,679&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,086&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,235&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recent Accounting Pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In June 2020, the FASB issued ASU No. 2020-06, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Accounting for Convertible Instruments and Contracts in&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%"&gt;an Entity&#x2019;s Own Equity&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;, which is intended to simplify the accounting for convertible instruments. This new guidance eliminated certain models that require separate accounting for embedded conversion features, and eliminated certain of the conditions for equity classification for contracts in an entity&#x2019;s own equity. Accordingly, a convertible debt instrument will be accounted for as a single liability measured at its amortized cost, as long as no other features require bifurcation and recognition as derivatives. The new guidance could be adopted through either a modified retrospective method of transition or a fully retrospective method of transition. ASU 2020-06 is effective for public business entities for fiscal years beginning after December 15, 2021, including interim periods within those fiscal years. Early adoption is permitted for fiscal years beginning after December 15, 2020, including interim periods within those fiscal years. The Company elected to early adopt the new standard on January 1, 2021 using the modified retrospective method and, accordingly, recorded a net reduction to accumulated deficit of $9.0&#160;million, a decrease to additional paid-in capital of $85.8&#160;million, and an increase to convertible senior notes, net - long-term of $76.8&#160;million to reflect the impact of the accounting change (see Note 7, &#x201c;Debt&#x201d;).&lt;/span&gt;&lt;/div&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
    <us-gaap:UseOfEstimates
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNzg0L2ZyYWc6OTdlM2VhZmE0ZjM2NGE2Zjk1Mjc1MWUyNmZkMTkzOTYvdGV4dHJlZ2lvbjo5N2UzZWFmYTRmMzY0YTZmOTUyNzUxZTI2ZmQxOTM5Nl85MzQ1ODQ4OTAxODA4_71c2fd2e-4a52-4545-aa7e-50b2a379c15c">&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preparation of the consolidated financial statements in conformity with U.S. GAAP requires management to make estimates and judgments that affect the reported amounts of assets, liabilities, revenues and expenses and the disclosure of contingent assets and liabilities in the Company&#x2019;s consolidated financial statements and accompanying notes as of the date of the consolidated financial statements. Some of those judgments can be subjective and complex, and therefore, actual results could differ materially from those estimates under different assumptions or conditions.&lt;/span&gt;&lt;/div&gt;</us-gaap:UseOfEstimates>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODk4L2ZyYWc6YWYxMGYyNmM3ZDE4NGIzMjk2NGU3YTE5MWMwMjgyMmUvdGV4dHJlZ2lvbjphZjEwZjI2YzdkMTg0YjMyOTY0ZTdhMTkxYzAyODIyZV85MzQ1ODQ4ODM2MzE5_46e80618-3bc2-4383-a932-edd9fcdcf193">&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Cash Equivalents&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company considers all highly liquid investments with a maturity of three months or less from the date of purchase and that can be liquidated without prior notice or penalty to be cash equivalents.&lt;/span&gt;&lt;/div&gt;</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <tndm:ShortTermInvestmentsPolicyTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODkzL2ZyYWc6NWIwZGZkODdmOTZjNDk3M2I0OGYzNDgzMGVkODFhMWUvdGV4dHJlZ2lvbjo1YjBkZmQ4N2Y5NmM0OTczYjQ4ZjM0ODMwZWQ4MWExZV85MzQ1ODQ4ODM3Mzkx_f024cb06-e372-42c1-9984-66a8f83ef35d">&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Short-Term Investments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s short-term investments are classified as available-for-sale securities. Such securities are carried at fair value as determined by prices for identical or similar securities at the balance sheet date. The Company&#x2019;s short-term investments consist of Level 1 and Level 2 financial instruments in the fair value hierarchy. The net unrealized gains or losses on available-for-sale securities that are not related to credit factors are reported as a component of other comprehensive income (loss) within the statements of operations and accumulated other comprehensive income (loss) as a separate component of stockholders&#x2019; equity on the consolidated balance sheets. The Company determines realized gains or losses on the sale of available-for-sale securities using the specific identification method and includes net realized gains and losses as a component of other income or expense within the consolidated statements of operations. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company reviews its available-for-sale debt securities for credit losses quarterly, considering a variety of factors, including the significance of the decline in value as compared to the amortized cost basis; underlying factors contributing to a decline in the prices of securities in a single asset class; the security&#x2019;s relative performance versus its peers, sector or asset class; the market and economy in general; views of external investment managers; news or financial information that has been released specific to the investee; and the outlook for the overall industry in which the investee operates. Losses on available-for-sale debt securities as a result of credit factors are recognized by recording an impairment loss as a component of other income or expense within the consolidated statements of operations and a corresponding allowance for credit losses. The Company has not recognized any impairment losses related to its short-term investments during the years ended December 31, 2021, 2020 and 2019.&lt;/span&gt;&lt;/div&gt;</tndm:ShortTermInvestmentsPolicyTextBlock>
    <us-gaap:ReceivablesPolicyTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODg2L2ZyYWc6MDhkOWRiMzYwMmRiNDZlMTlmYTU2NzU2NDg0NmIyNzUvdGV4dHJlZ2lvbjowOGQ5ZGIzNjAyZGI0NmUxOWZhNTY3NTY0ODQ2YjI3NV85MzQ1ODQ4ODM2OTYx_dbdc5fd3-27f1-44fd-bbf2-3ccf4b109569">&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Accounts Receivable&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company grants credit to various customers in the ordinary course of business and is paid directly by customers who use its products, distributors and third-party insurance payors. The Company maintains an allowance for its current estimate of expected credit losses. Provisions for expected credit losses are estimated based on historical experience, assessment of specific risk, review of outstanding invoices, forecasts about the future, and various assumptions and estimates that are believed to be reasonable under the circumstances, which included the Company&#x2019;s estimates of credit risks as a result of the coronavirus pandemic (COVID-19 global pandemic). Uncollectible accounts are written off against the allowance after appropriate collection efforts have been exhausted and when it is deemed that a balance is uncollectible.&lt;/span&gt;&lt;/div&gt;</us-gaap:ReceivablesPolicyTextBlock>
    <us-gaap:ConcentrationRiskCreditRisk
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODgxL2ZyYWc6MDVlNTc2MTBiMzMzNDhmYTg5N2JjYmE0ZTBjZTU0OWYvdGV4dHJlZ2lvbjowNWU1NzYxMGIzMzM0OGZhODk3YmNiYTRlMGNlNTQ5Zl80Mzk4MDQ2NTExOTQx_f5a5a7fa-070e-402c-a0cb-77c13f0a91fd">&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Concentration of Credit Risk&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Financial instruments that potentially subject the Company to concentrations of credit risk consist primarily of cash, cash equivalents, short-term investments and accounts receivable. The Company maintains deposit accounts in federally insured financial institutions in excess of federally insured limits. The Company also maintains investments in money market funds that are not federally insured. Additionally, the Company has established guidelines regarding investment instruments and their maturities, which are designed to maintain preservation of principal and liquidity.&lt;/span&gt;&lt;/div&gt;</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODgxL2ZyYWc6MDVlNTc2MTBiMzMzNDhmYTg5N2JjYmE0ZTBjZTU0OWYvdGV4dHJlZ2lvbjowNWU1NzYxMGIzMzM0OGZhODk3YmNiYTRlMGNlNTQ5Zl85MzQ1ODQ4ODM2OTMw_220cf4f2-e1a7-40b8-9778-01ae04d997fc">&lt;div style="margin-top:12pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes customers who accounted for 10% or more of accounts receivable, net:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:74.706%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.631%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer A&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12.7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer B&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="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;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;* Amount related to the respective customer represented less than 10% for the period presented.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes customers who accounted for 10% or more of total sales for the periods presented:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.243%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.631%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer B&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15.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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Customer C&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;*&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/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;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:5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;* Amount related to the respective customer represented less than 10% for the period presented.&lt;/span&gt;&lt;/div&gt;</us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i9437faa182e24b51bc4b26a14179ec77_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODgxL2ZyYWc6MDVlNTc2MTBiMzMzNDhmYTg5N2JjYmE0ZTBjZTU0OWYvdGFibGU6Yzc5OWFhY2JlMjU0NGFmNmFhODliOWYxODlhNmFhN2UvdGFibGVyYW5nZTpjNzk5YWFjYmUyNTQ0YWY2YWE4OWI5ZjE4OWE2YWE3ZV8yLTMtMS0xLTYwMTA5_31021e91-b556-4788-9ed8-9f2c244f3a19"
      unitRef="number">0.127</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ida2f1a2648b74140984062feeef30343_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODgxL2ZyYWc6MDVlNTc2MTBiMzMzNDhmYTg5N2JjYmE0ZTBjZTU0OWYvdGFibGU6Yzc5OWFhY2JlMjU0NGFmNmFhODliOWYxODlhNmFhN2UvdGFibGVyYW5nZTpjNzk5YWFjYmUyNTQ0YWY2YWE4OWI5ZjE4OWE2YWE3ZV8zLTEtMS0xLTYwMTA5_052d9a37-90e4-45e7-a158-188a32b9cbd6"
      unitRef="number">0.112</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i4031f0ceae794a21b64dc76577edbb23_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODgxL2ZyYWc6MDVlNTc2MTBiMzMzNDhmYTg5N2JjYmE0ZTBjZTU0OWYvdGFibGU6Yzc5OWFhY2JlMjU0NGFmNmFhODliOWYxODlhNmFhN2UvdGFibGVyYW5nZTpjNzk5YWFjYmUyNTQ0YWY2YWE4OWI5ZjE4OWE2YWE3ZV8zLTMtMS0xLTYwMTA5_af022986-0cf8-47f3-bb84-fb6aa2ca6783"
      unitRef="number">0.123</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ia735487e5dbe4b86930fce621a5b2ef2_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODgxL2ZyYWc6MDVlNTc2MTBiMzMzNDhmYTg5N2JjYmE0ZTBjZTU0OWYvdGFibGU6NGFkNTMyODBiY2E5NDBhMDkzNjkwNjJkYzQ0NzkwYjYvdGFibGVyYW5nZTo0YWQ1MzI4MGJjYTk0MGEwOTM2OTA2MmRjNDQ3OTBiNl8yLTEtMS0xLTYwMTA5_f90cd823-e6d5-4fcd-8b01-ed7573f9078a"
      unitRef="number">0.119</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="iae78fd5c85624134b164ddf02a6b9f2a_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODgxL2ZyYWc6MDVlNTc2MTBiMzMzNDhmYTg5N2JjYmE0ZTBjZTU0OWYvdGFibGU6NGFkNTMyODBiY2E5NDBhMDkzNjkwNjJkYzQ0NzkwYjYvdGFibGVyYW5nZTo0YWQ1MzI4MGJjYTk0MGEwOTM2OTA2MmRjNDQ3OTBiNl8yLTMtMS0xLTYwMTA5_d4405071-ef5e-4e2e-b378-51a8c49dec86"
      unitRef="number">0.159</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i47f799733a9942f0be5b3cdbe19539aa_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODgxL2ZyYWc6MDVlNTc2MTBiMzMzNDhmYTg5N2JjYmE0ZTBjZTU0OWYvdGFibGU6NGFkNTMyODBiY2E5NDBhMDkzNjkwNjJkYzQ0NzkwYjYvdGFibGVyYW5nZTo0YWQ1MzI4MGJjYTk0MGEwOTM2OTA2MmRjNDQ3OTBiNl8yLTUtMS0xLTYwMTA5_07099ae2-c9f6-42cd-9a36-0c6fcb962350"
      unitRef="number">0.148</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="id18b96bb9c844ab6a100e4aa0078ae81_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODgxL2ZyYWc6MDVlNTc2MTBiMzMzNDhmYTg5N2JjYmE0ZTBjZTU0OWYvdGFibGU6NGFkNTMyODBiY2E5NDBhMDkzNjkwNjJkYzQ0NzkwYjYvdGFibGVyYW5nZTo0YWQ1MzI4MGJjYTk0MGEwOTM2OTA2MmRjNDQ3OTBiNl8zLTMtMS0xLTYwMTA5_e014cb57-0ff9-469b-9a3f-eef4f5704d5a"
      unitRef="number">0.129</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i5423e30bbf204ac09d695c373a1e3a58_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODgxL2ZyYWc6MDVlNTc2MTBiMzMzNDhmYTg5N2JjYmE0ZTBjZTU0OWYvdGFibGU6NGFkNTMyODBiY2E5NDBhMDkzNjkwNjJkYzQ0NzkwYjYvdGFibGVyYW5nZTo0YWQ1MzI4MGJjYTk0MGEwOTM2OTA2MmRjNDQ3OTBiNl8zLTUtMS0xLTYwMTA5_ae7687b8-1128-46b3-be1a-c8c6fca354f4"
      unitRef="number">0.154</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:FairValueOfFinancialInstrumentsPolicy
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODcxL2ZyYWc6NzFjMTYwYWZhODQ4NDhkY2FiNjI5YWVhZjljNTc4NWYvdGV4dHJlZ2lvbjo3MWMxNjBhZmE4NDg0OGRjYWI2MjlhZWFmOWM1Nzg1Zl85MzQ1ODQ4ODM2Nzkx_bf989f65-dcb7-4186-93e2-2b55dc54ef19">&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Fair Value of Financial Instruments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The carrying amounts of cash and cash equivalents, accounts receivable, accounts payable, accrued expenses, and employee-related liabilities are reasonable estimates of their fair values because of the short-term nature of these assets and liabilities. Short-term investments are carried at fair value. The carrying value and estimated fair value of certain of the Company&#x2019;s common stock warrants was determined using the Black-Scholes pricing model as of&#160;December&#160;31, 2021 and 2020 (see Note 5, &#x201c;Fair Value Measurements&#x201d;).&lt;/span&gt;&lt;/div&gt;The Company&#x2019;s convertible senior notes are carried at amortized cost on the consolidated balance sheets (see Note 7, &#x201c;Debt&#x201d;). The Company determined the fair value of its convertible senior notes to be $430.0&#160;million and $333.5&#160;million at December&#160;31, 2021 and 2020, respectively, based on Level 2 quoted market prices as of that date</us-gaap:FairValueOfFinancialInstrumentsPolicy>
    <us-gaap:LongTermDebtFairValue
      contextRef="id1aabc2ab6364a25b5053274ea1af356_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODcxL2ZyYWc6NzFjMTYwYWZhODQ4NDhkY2FiNjI5YWVhZjljNTc4NWYvdGV4dHJlZ2lvbjo3MWMxNjBhZmE4NDg0OGRjYWI2MjlhZWFmOWM1Nzg1Zl8zODQ4MjkwNjk3OTMy_4cdd6c3d-3cd3-4554-9480-725bab644d89"
      unitRef="usd">430000000</us-gaap:LongTermDebtFairValue>
    <us-gaap:LongTermDebtFairValue
      contextRef="i1a6ec2c56e93409184739f474b10e09a_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODcxL2ZyYWc6NzFjMTYwYWZhODQ4NDhkY2FiNjI5YWVhZjljNTc4NWYvdGV4dHJlZ2lvbjo3MWMxNjBhZmE4NDg0OGRjYWI2MjlhZWFmOWM1Nzg1Zl80Mzk4MDQ2NTEyNTkx_a0635d77-c6ff-4eb1-9833-7bb3056eff4d"
      unitRef="usd">333500000</us-gaap:LongTermDebtFairValue>
    <us-gaap:InventoryPolicyTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODY2L2ZyYWc6NDcyNTNkYjQ2NmU2NDYyZWFiNTE2NmIxM2Q5YTczN2UvdGV4dHJlZ2lvbjo0NzI1M2RiNDY2ZTY0NjJlYWI1MTY2YjEzZDlhNzM3ZV85MzQ1ODQ4ODM2ODUx_cff061b4-17f4-4ab4-a3a3-521415847f9a">&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Valuation of Inventories&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories are valued at the lower of cost or net realizable value, determined by the first-in, first-out method. Inventory is recorded using standard cost, including material, labor and overhead costs. The Company periodically reviews inventories for potential impairment and adjusts inventory for potentially excess or obsolete goods to state inventories at their net realizable value. Factors influencing these adjustments include quantities on hand and firm purchase commitments, expectations of future use, judgments based on quality control testing data and assessments of the likelihood of scrapping or obsoleting certain inventories based on future demand for its products and market conditions.&lt;/span&gt;&lt;/div&gt;</us-gaap:InventoryPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODYxL2ZyYWc6NjQ4NzE1YWU3NjdmNDc4YWFlNGQwZTc2ZmIwNmM1NjAvdGV4dHJlZ2lvbjo2NDg3MTVhZTc2N2Y0NzhhYWU0ZDBlNzZmYjA2YzU2MF80Mzk4MDQ2NTIzMjgz_a6bcb863-51b4-4513-b63b-fc4d9338bd72">&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Long-Lived Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Property and Equipment&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment, which primarily consist of office furniture and equipment, manufacturing equipment, scientific equipment, computer equipment, and leasehold improvements, are stated at cost, less accumulated depreciation. Property and equipment are depreciated over the estimated useful lives of the assets, generally &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODYxL2ZyYWc6NjQ4NzE1YWU3NjdmNDc4YWFlNGQwZTc2ZmIwNmM1NjAvdGV4dHJlZ2lvbjo2NDg3MTVhZTc2N2Y0NzhhYWU0ZDBlNzZmYjA2YzU2MF8xMDk5NTExNjM2MjU4_2294d737-0a20-4b4f-bbda-2c8c8ccd9b82"&gt;three&lt;/span&gt; to seven years, using the straight-line method. Leasehold improvements are amortized over the lesser of the estimated useful lives of the assets or the remaining lease term. Maintenance and repair costs are expensed as incurred.&lt;/span&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife
      contextRef="i720b495542864ababdcca12cb55c2db9_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODYxL2ZyYWc6NjQ4NzE1YWU3NjdmNDc4YWFlNGQwZTc2ZmIwNmM1NjAvdGV4dHJlZ2lvbjo2NDg3MTVhZTc2N2Y0NzhhYWU0ZDBlNzZmYjA2YzU2MF8xMDk5NTExNjM2MjY1_93f95a16-6c34-4538-8df5-92572faad8b7">P7Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:LesseeLeasesPolicyTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODYxL2ZyYWc6NjQ4NzE1YWU3NjdmNDc4YWFlNGQwZTc2ZmIwNmM1NjAvdGV4dHJlZ2lvbjo2NDg3MTVhZTc2N2Y0NzhhYWU0ZDBlNzZmYjA2YzU2MF83MTQ2ODI1NTkyNzI2_3ecb3991-9ce7-480f-92e2-551fa645656f">&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Operating Lease Right-of-Use Assets and Liabilities&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Lease right-of-use assets represent the Company&#x2019;s right to use an underlying asset for the lease term and lease liabilities represent its obligation to make lease payments arising from the lease. Operating lease right-of-use assets and liabilities are recognized when the Company takes possession of the leased property (the Commencement Date) based on the present value of lease payments over the lease term. For lease agreements entered into or reassessed after the adoption of ASC 842 &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Leases&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, the Company combines lease and non-lease components. Rent expense on noncancelable leases containing known future scheduled rent increases is recorded on a straight-line basis over the term of the respective leases beginning on the Commencement Date. The difference between rent expense and rent paid is accounted for as a component of operating lease right-of-use assets on the Company&#x2019;s consolidated balance sheets. Landlord improvement allowances and other similar lease incentives are recorded as a reduction of the right-of-use leased assets, and are amortized on a straight-line basis as a reduction to operating lease costs.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeLeasesPolicyTextBlock>
    <us-gaap:InvestmentOwnedAtCost
      contextRef="i0fc200cf732545b59c891665456427be_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODYxL2ZyYWc6NjQ4NzE1YWU3NjdmNDc4YWFlNGQwZTc2ZmIwNmM1NjAvdGV4dHJlZ2lvbjo2NDg3MTVhZTc2N2Y0NzhhYWU0ZDBlNzZmYjA2YzU2MF8yMTQ0MDQ3Njc1NDgyMw_215b6ca8-693d-4fc0-9c65-214307637cda"
      unitRef="usd">8100000</us-gaap:InvestmentOwnedAtCost>
    <tndm:InvestmentOwnedOwnershipInterest
      contextRef="i0fc200cf732545b59c891665456427be_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODYxL2ZyYWc6NjQ4NzE1YWU3NjdmNDc4YWFlNGQwZTc2ZmIwNmM1NjAvdGV4dHJlZ2lvbjo2NDg3MTVhZTc2N2Y0NzhhYWU0ZDBlNzZmYjA2YzU2MF8yMTQ0MDQ3Njc1NDgzNw_1f5d08b8-dcd4-4659-8a81-9b694d62cbb0"
      unitRef="number">0.05</tndm:InvestmentOwnedOwnershipInterest>
    <us-gaap:GoodwillAndIntangibleAssetsIntangibleAssetsPolicy
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODYxL2ZyYWc6NjQ4NzE1YWU3NjdmNDc4YWFlNGQwZTc2ZmIwNmM1NjAvdGV4dHJlZ2lvbjo2NDg3MTVhZTc2N2Y0NzhhYWU0ZDBlNzZmYjA2YzU2MF80Mzk4MDQ2NTIzMjg0_6161a904-b860-4d5e-ad86-03c3a0bec8fb">&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Intangible Assets Subject to Amortization&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Finite-lived intangible assets are recorded at cost, net of accumulated amortization and, if applicable, impairment charges. Amortization of finite-lived intangible assets is recognized over their estimated useful lives on a straight-line basis. The Company reviews its finite-lived intangible assets for impairment whenever events or changes in circumstances indicate that the carrying amount of an asset may not be recoverable. The Company has not recognized any impairment losses during the years ended December&#160;31, 2021, 2020 and 2019.&lt;/span&gt;&lt;/div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;On June 24, 2020, the Company acquired Sugarmate, Inc. (Sugarmate), the developer of a mobile app designed to help people visualize diabetes therapy data in innovative ways. The Sugarmate acquisition was accounted for as an acquisition of assets in accordance with ASU No. 2017-01,&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%"&gt; Business Combinations (Topic 805) Clarifying the Definition of a Business&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;. Substantially all of the fair value was concentrated in a single identifiable asset, a technology-based intangible asset. The purchased intangible asset is being amortized on a straight-line basis over an estimated useful life of five years. The Company&#x2019;s results of operations include the operating results of Sugarmate since the date of acquisition, the amounts of which were not material.&lt;/span&gt;</us-gaap:GoodwillAndIntangibleAssetsIntangibleAssetsPolicy>
    <us-gaap:ImpairmentOfIntangibleAssetsFinitelived
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODYxL2ZyYWc6NjQ4NzE1YWU3NjdmNDc4YWFlNGQwZTc2ZmIwNmM1NjAvdGV4dHJlZ2lvbjo2NDg3MTVhZTc2N2Y0NzhhYWU0ZDBlNzZmYjA2YzU2MF8xMDk5NTExNjI5ODMyMw_093077f0-ddf4-4716-a769-d5ac565f7915"
      unitRef="usd">0</us-gaap:ImpairmentOfIntangibleAssetsFinitelived>
    <us-gaap:ImpairmentOfIntangibleAssetsFinitelived
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODYxL2ZyYWc6NjQ4NzE1YWU3NjdmNDc4YWFlNGQwZTc2ZmIwNmM1NjAvdGV4dHJlZ2lvbjo2NDg3MTVhZTc2N2Y0NzhhYWU0ZDBlNzZmYjA2YzU2MF8xMDk5NTExNjI5ODMyMw_28622042-a88a-4fc2-ac9f-90fe94ed5a33"
      unitRef="usd">0</us-gaap:ImpairmentOfIntangibleAssetsFinitelived>
    <us-gaap:ImpairmentOfIntangibleAssetsFinitelived
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODYxL2ZyYWc6NjQ4NzE1YWU3NjdmNDc4YWFlNGQwZTc2ZmIwNmM1NjAvdGV4dHJlZ2lvbjo2NDg3MTVhZTc2N2Y0NzhhYWU0ZDBlNzZmYjA2YzU2MF8xMDk5NTExNjI5ODMyMw_c705c8bb-7e09-410f-917e-528e8465fe5d"
      unitRef="usd">0</us-gaap:ImpairmentOfIntangibleAssetsFinitelived>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i0a3d51dc2b764bcea853adc00104c231_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODYxL2ZyYWc6NjQ4NzE1YWU3NjdmNDc4YWFlNGQwZTc2ZmIwNmM1NjAvdGV4dHJlZ2lvbjo2NDg3MTVhZTc2N2Y0NzhhYWU0ZDBlNzZmYjA2YzU2MF8xMDk5NTExNjM5Mjc2_91f6a73d-7fab-43de-a1f0-7bd7d407132c">P5Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODM4L2ZyYWc6MmNlYTU5MTkzMWE5NDY2ZWJjNGZjMTdmOGEzMTExZjkvdGV4dHJlZ2lvbjoyY2VhNTkxOTMxYTk0NjZlYmM0ZmMxN2Y4YTMxMTFmOV85MzQ1ODQ4ODM5MTM3_c3fc0630-2381-47b7-8485-b0007fa97cb2">&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Revenue Recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue is generated primarily from sales of insulin pumps, disposable insulin cartridges and infusion sets to individual customers with third-party insurance coverage and through a network of distributors that resell the products to insulin-dependent diabetes customers. The Company recognizes revenue when it transfers control of the promised goods or services to customers in an amount that reflects the consideration to which the Company expects to be entitled in exchange for those goods or services, net of estimated returns.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Revenue Recognition for Arrangements with Multiple Performance Obligations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company considers the individual deliverables in its product offering as separate performance obligations. The transaction price is determined based on the consideration expected to be received, based either on the stated value in contractual arrangements or the estimated cash to be collected in non-contracted arrangements. The Company allocates the consideration to the individual performance obligations and recognizes the consideration based on when the performance obligation is satisfied, considering whether or not this occurs at a point in time or over time. Generally, insulin pumps, cartridges, infusion sets and accessories are deemed performance obligations that are satisfied at a point in time when the customer obtains control of the promised good, which typically is upon shipment for our distributor arrangements and upon receipt for sales directly to individual customers. Complementary products, such as t:connect and the Tandem Device Updater, are considered distinct performance obligations that are satisfied over time, as access and support for these products is provided throughout the typical four-year warranty period of the insulin pumps. Accordingly, revenue related to the complementary products is deferred and recognized over a four-year period. Where there is no standalone value for the complementary product, the Company determines its value by applying the expected cost plus a margin approach and then allocates the residual to the insulin pumps. Deferred revenue related to these performance obligations that are satisfied over time was included in the following consolidated balance sheet accounts in the amounts shown as of December 31, 2021 and 2020 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.426%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.344%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.346%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,625&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,508&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other long-term liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,940&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,426&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,565&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,934&#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:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Sales Returns&lt;/span&gt;&lt;/div&gt;The Company offers a 30-day right of return to customers in the U.S. and Canada from the date of shipment of its insulin pumps, provided a physician&#x2019;s confirmation of the medical reason for the return is received. Estimated allowances for sales returns are based on historical returned quantities as compared to pump shipments in those same periods of return, adjusted for known or expected changes in the marketplace when appropriate.&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Shipping and Handling Expenses&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Shipping and handling expenses associated with product delivery are included within cost of sales in the Company&#x2019;s statements of operations. Amounts billed to a customer for shipping and handling are reported as revenues.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <tndm:ProductsWarrantyPeriod
      contextRef="iff27d9ecf4ad4c1a86b60dbf2840dc88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODM4L2ZyYWc6MmNlYTU5MTkzMWE5NDY2ZWJjNGZjMTdmOGEzMTExZjkvdGV4dHJlZ2lvbjoyY2VhNTkxOTMxYTk0NjZlYmM0ZmMxN2Y4YTMxMTFmOV85MzQ1ODQ4ODM5MTM1_50806d8c-a1a4-48d5-a375-3f0cb23e2c11">P4Y</tndm:ProductsWarrantyPeriod>
    <tndm:ProductsWarrantyPeriod
      contextRef="iff27d9ecf4ad4c1a86b60dbf2840dc88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODM4L2ZyYWc6MmNlYTU5MTkzMWE5NDY2ZWJjNGZjMTdmOGEzMTExZjkvdGV4dHJlZ2lvbjoyY2VhNTkxOTMxYTk0NjZlYmM0ZmMxN2Y4YTMxMTFmOV85MzQ1ODQ4ODM5MTM2_04906561-866e-4890-b5e7-48c373a08cf0">P4Y</tndm:ProductsWarrantyPeriod>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODM4L2ZyYWc6MmNlYTU5MTkzMWE5NDY2ZWJjNGZjMTdmOGEzMTExZjkvdGV4dHJlZ2lvbjoyY2VhNTkxOTMxYTk0NjZlYmM0ZmMxN2Y4YTMxMTFmOV85MzQ1ODQ4ODM5MTM4_16f63ba6-69a2-48f9-88d4-bccbabb0bf78">Deferred revenue related to these performance obligations that are satisfied over time was included in the following consolidated balance sheet accounts in the amounts shown as of December 31, 2021 and 2020 (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:59.426%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.344%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.346%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,625&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,508&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other long-term liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,940&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,426&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,565&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,934&#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:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i95ea7791af2042c38f9c3caedef55acc_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODM4L2ZyYWc6MmNlYTU5MTkzMWE5NDY2ZWJjNGZjMTdmOGEzMTExZjkvdGFibGU6NGFhN2QyMGQ4OTgxNDU0NmIwYjE1NGQxNTY5NWYxNTcvdGFibGVyYW5nZTo0YWE3ZDIwZDg5ODE0NTQ2YjBiMTU0ZDE1Njk1ZjE1N18xLTEtMS0xLTYwMDMw_49d18af6-f012-4b26-b1c1-8f665138f65f"
      unitRef="usd">9625000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="iea0a47646208461d8deb761344fcaab5_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODM4L2ZyYWc6MmNlYTU5MTkzMWE5NDY2ZWJjNGZjMTdmOGEzMTExZjkvdGFibGU6NGFhN2QyMGQ4OTgxNDU0NmIwYjE1NGQxNTY5NWYxNTcvdGFibGVyYW5nZTo0YWE3ZDIwZDg5ODE0NTQ2YjBiMTU0ZDE1Njk1ZjE1N18xLTMtMS0xLTYwMDMw_4cf0733d-351b-4def-b091-30b2c9894a00"
      unitRef="usd">5508000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="i95ea7791af2042c38f9c3caedef55acc_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODM4L2ZyYWc6MmNlYTU5MTkzMWE5NDY2ZWJjNGZjMTdmOGEzMTExZjkvdGFibGU6NGFhN2QyMGQ4OTgxNDU0NmIwYjE1NGQxNTY5NWYxNTcvdGFibGVyYW5nZTo0YWE3ZDIwZDg5ODE0NTQ2YjBiMTU0ZDE1Njk1ZjE1N18yLTEtMS0xLTYwMDMw_8daa5fb2-187a-47ae-b477-39cf71e805be"
      unitRef="usd">16940000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="iea0a47646208461d8deb761344fcaab5_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODM4L2ZyYWc6MmNlYTU5MTkzMWE5NDY2ZWJjNGZjMTdmOGEzMTExZjkvdGFibGU6NGFhN2QyMGQ4OTgxNDU0NmIwYjE1NGQxNTY5NWYxNTcvdGFibGVyYW5nZTo0YWE3ZDIwZDg5ODE0NTQ2YjBiMTU0ZDE1Njk1ZjE1N18yLTMtMS0xLTYwMDMw_6885bc0a-2d10-4d65-89ee-084c6985d294"
      unitRef="usd">10426000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i95ea7791af2042c38f9c3caedef55acc_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODM4L2ZyYWc6MmNlYTU5MTkzMWE5NDY2ZWJjNGZjMTdmOGEzMTExZjkvdGFibGU6NGFhN2QyMGQ4OTgxNDU0NmIwYjE1NGQxNTY5NWYxNTcvdGFibGVyYW5nZTo0YWE3ZDIwZDg5ODE0NTQ2YjBiMTU0ZDE1Njk1ZjE1N18zLTEtMS0xLTYxNzM5_e1dc5d94-4dd0-4d2f-b1a8-97d8d7342560"
      unitRef="usd">26565000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="iea0a47646208461d8deb761344fcaab5_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODM4L2ZyYWc6MmNlYTU5MTkzMWE5NDY2ZWJjNGZjMTdmOGEzMTExZjkvdGFibGU6NGFhN2QyMGQ4OTgxNDU0NmIwYjE1NGQxNTY5NWYxNTcvdGFibGVyYW5nZTo0YWE3ZDIwZDg5ODE0NTQ2YjBiMTU0ZDE1Njk1ZjE1N18zLTMtMS0xLTYxNzQy_92eb0c4c-6f7a-4daa-81dd-190179783029"
      unitRef="usd">15934000</us-gaap:ContractWithCustomerLiability>
    <tndm:OfferedPeriodForSalesReturnPriorToExpiration
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODM4L2ZyYWc6MmNlYTU5MTkzMWE5NDY2ZWJjNGZjMTdmOGEzMTExZjkvdGV4dHJlZ2lvbjoyY2VhNTkxOTMxYTk0NjZlYmM0ZmMxN2Y4YTMxMTFmOV8xMDk5NTExNjMwMDk2_80d73337-74fa-4c36-b1cf-14bb3d41f1e2">P30D</tndm:OfferedPeriodForSalesReturnPriorToExpiration>
    <tndm:AllowanceForSalesReturns
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODM4L2ZyYWc6MmNlYTU5MTkzMWE5NDY2ZWJjNGZjMTdmOGEzMTExZjkvdGV4dHJlZ2lvbjoyY2VhNTkxOTMxYTk0NjZlYmM0ZmMxN2Y4YTMxMTFmOV8xMDk5NTExNjMwNjM0_eaf657c0-e0d5-431e-9eec-c771615694a0"
      unitRef="usd">600000</tndm:AllowanceForSalesReturns>
    <tndm:AllowanceForSalesReturns
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODM4L2ZyYWc6MmNlYTU5MTkzMWE5NDY2ZWJjNGZjMTdmOGEzMTExZjkvdGV4dHJlZ2lvbjoyY2VhNTkxOTMxYTk0NjZlYmM0ZmMxN2Y4YTMxMTFmOV8xMDk5NTExNjMwNjQy_efbe3fe3-87fe-4613-952e-e3c0659ffc59"
      unitRef="usd">600000</tndm:AllowanceForSalesReturns>
    <us-gaap:StandardProductWarrantyPolicy
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODI5L2ZyYWc6MDA3NmM0NDk1NjY3NDg5OGI3YTY2Mjg1MjJiZjI0ZDYvdGV4dHJlZ2lvbjowMDc2YzQ0OTU2Njc0ODk4YjdhNjYyODUyMmJmMjRkNl80Mzk4MDQ2NTEyNTYx_ebcf8b64-9d21-4453-b269-5aa10d6fb395">&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Warranty Reserve&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company generally provides a four-year warranty on its insulin pumps to end user customers and may replace any pumps that do not function as intended in accordance with the product specifications within the warranty period.&#160;Insulin pumps returned to the Company may be refurbished and redeployed.&#160;Additionally, the Company offers a six-month warranty on disposable insulin cartridges and infusion sets. Estimated warranty costs are recorded at the time of shipment, and the Company reevaluates the estimate of the warranty reserve obligation at each reporting period. Warranty costs are estimated primarily based on the current expected product replacement cost and expected replacement rates utilizing historical experience. &lt;/span&gt;&lt;span style="color:#212529;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Experience has shown that initial data for any given pump version may be insufficient; therefore, our process relies on long-term historical averages until sufficient data are available. As actual experience becomes available, we use the data to update the historical averages. &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company may make further adjustments to the warranty reserve when deemed appropriate, giving additional consideration to the length of time each pump version has been in the field and revised future expectations of performance based on new features and capabilities that may become available through Tandem Device Updater.&lt;/span&gt;&lt;/div&gt;</us-gaap:StandardProductWarrantyPolicy>
    <tndm:ProductsWarrantyPeriod
      contextRef="iff27d9ecf4ad4c1a86b60dbf2840dc88_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODI5L2ZyYWc6MDA3NmM0NDk1NjY3NDg5OGI3YTY2Mjg1MjJiZjI0ZDYvdGV4dHJlZ2lvbjowMDc2YzQ0OTU2Njc0ODk4YjdhNjYyODUyMmJmMjRkNl85MzQ1ODQ4ODM3NTQ4_18ca7384-20dd-4308-910f-c1daf21681f7">P4Y</tndm:ProductsWarrantyPeriod>
    <tndm:ProductsWarrantyPeriod
      contextRef="i90c1885bc32e48c8869b211df4bcc04f_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODI5L2ZyYWc6MDA3NmM0NDk1NjY3NDg5OGI3YTY2Mjg1MjJiZjI0ZDYvdGV4dHJlZ2lvbjowMDc2YzQ0OTU2Njc0ODk4YjdhNjYyODUyMmJmMjRkNl85MzQ1ODQ4ODM3NTQ5_31e18181-004f-449b-acf7-276659aa440b">P6M</tndm:ProductsWarrantyPeriod>
    <us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODI5L2ZyYWc6MDA3NmM0NDk1NjY3NDg5OGI3YTY2Mjg1MjJiZjI0ZDYvdGV4dHJlZ2lvbjowMDc2YzQ0OTU2Njc0ODk4YjdhNjYyODUyMmJmMjRkNl85MzQ1ODQ4ODM3NTUx_9a649450-6623-4cbf-b31c-868c2ba428e2">&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table provides a reconciliation of the changes in product warranty liabilities for the years ended December&#160;31, 2021, 2020 and 2019 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at beginning of the year&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,075&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,724&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Provision for warranties issued during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,604&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21,135&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,335&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Settlements made during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(18,768)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13,736)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,167)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Decrease in warranty estimates&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(510)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,048)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(582)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at end of the year&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,401&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,075&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,724&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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;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;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:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2021 and December 31, 2020, total product warranty reserves of $30.4 million and $22.1 million, respectively, were included in the following consolidated balance sheet accounts (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&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:72.730%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.621%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other current liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,076&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,409&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other long-term liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,325&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,666&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total warranty reserve&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,401&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,075&#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:ScheduleOfProductWarrantyLiabilityTableTextBlock>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODI5L2ZyYWc6MDA3NmM0NDk1NjY3NDg5OGI3YTY2Mjg1MjJiZjI0ZDYvdGFibGU6MjA3MGE0N2IwYTgwNDA0MmI2YjJjZmUwYmY0YjQyNWQvdGFibGVyYW5nZToyMDcwYTQ3YjBhODA0MDQyYjZiMmNmZTBiZjRiNDI1ZF8yLTEtMS0xLTYwMDE4_f59bb20c-a86a-432e-b24e-40c213302c40"
      unitRef="usd">22075000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="ia35d79f7a8cd4f3e92d3a94270701280_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODI5L2ZyYWc6MDA3NmM0NDk1NjY3NDg5OGI3YTY2Mjg1MjJiZjI0ZDYvdGFibGU6MjA3MGE0N2IwYTgwNDA0MmI2YjJjZmUwYmY0YjQyNWQvdGFibGVyYW5nZToyMDcwYTQ3YjBhODA0MDQyYjZiMmNmZTBiZjRiNDI1ZF8yLTMtMS0xLTYwMDE4_6cff4828-9b6b-4377-a44c-fa3382f3d32f"
      unitRef="usd">16724000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i1be26f57e9264ee580a0723df09ac283_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODI5L2ZyYWc6MDA3NmM0NDk1NjY3NDg5OGI3YTY2Mjg1MjJiZjI0ZDYvdGFibGU6MjA3MGE0N2IwYTgwNDA0MmI2YjJjZmUwYmY0YjQyNWQvdGFibGVyYW5nZToyMDcwYTQ3YjBhODA0MDQyYjZiMmNmZTBiZjRiNDI1ZF8yLTUtMS0xLTYwMDE4_ab8d27f0-c5b1-44b8-b09d-edbf24cba90e"
      unitRef="usd">9138000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODI5L2ZyYWc6MDA3NmM0NDk1NjY3NDg5OGI3YTY2Mjg1MjJiZjI0ZDYvdGFibGU6MjA3MGE0N2IwYTgwNDA0MmI2YjJjZmUwYmY0YjQyNWQvdGFibGVyYW5nZToyMDcwYTQ3YjBhODA0MDQyYjZiMmNmZTBiZjRiNDI1ZF8zLTEtMS0xLTYwMDE4_f29b250e-6620-4099-a19d-e1d40f549960"
      unitRef="usd">27604000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODI5L2ZyYWc6MDA3NmM0NDk1NjY3NDg5OGI3YTY2Mjg1MjJiZjI0ZDYvdGFibGU6MjA3MGE0N2IwYTgwNDA0MmI2YjJjZmUwYmY0YjQyNWQvdGFibGVyYW5nZToyMDcwYTQ3YjBhODA0MDQyYjZiMmNmZTBiZjRiNDI1ZF8zLTMtMS0xLTYwMDE4_67f3d36e-cc11-4b8c-8930-10f6517568d4"
      unitRef="usd">21135000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualWarrantiesIssued
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODI5L2ZyYWc6MDA3NmM0NDk1NjY3NDg5OGI3YTY2Mjg1MjJiZjI0ZDYvdGFibGU6MjA3MGE0N2IwYTgwNDA0MmI2YjJjZmUwYmY0YjQyNWQvdGFibGVyYW5nZToyMDcwYTQ3YjBhODA0MDQyYjZiMmNmZTBiZjRiNDI1ZF8zLTUtMS0xLTYwMDE4_37d7846b-4d4f-4963-8279-9ad802c2314a"
      unitRef="usd">18335000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODI5L2ZyYWc6MDA3NmM0NDk1NjY3NDg5OGI3YTY2Mjg1MjJiZjI0ZDYvdGFibGU6MjA3MGE0N2IwYTgwNDA0MmI2YjJjZmUwYmY0YjQyNWQvdGFibGVyYW5nZToyMDcwYTQ3YjBhODA0MDQyYjZiMmNmZTBiZjRiNDI1ZF80LTEtMS0xLTYwMDE4_04e72e72-4fdd-459c-a6e9-3b3ad7dec81f"
      unitRef="usd">18768000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODI5L2ZyYWc6MDA3NmM0NDk1NjY3NDg5OGI3YTY2Mjg1MjJiZjI0ZDYvdGFibGU6MjA3MGE0N2IwYTgwNDA0MmI2YjJjZmUwYmY0YjQyNWQvdGFibGVyYW5nZToyMDcwYTQ3YjBhODA0MDQyYjZiMmNmZTBiZjRiNDI1ZF80LTMtMS0xLTYwMDE4_d326c9d7-255a-406c-9597-db7320a2a94d"
      unitRef="usd">13736000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrualPayments
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODI5L2ZyYWc6MDA3NmM0NDk1NjY3NDg5OGI3YTY2Mjg1MjJiZjI0ZDYvdGFibGU6MjA3MGE0N2IwYTgwNDA0MmI2YjJjZmUwYmY0YjQyNWQvdGFibGVyYW5nZToyMDcwYTQ3YjBhODA0MDQyYjZiMmNmZTBiZjRiNDI1ZF80LTUtMS0xLTYwMDE4_59375e7f-6a9f-4d36-a3bb-cf7518ce4d04"
      unitRef="usd">10167000</us-gaap:ProductWarrantyAccrualPayments>
    <us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODI5L2ZyYWc6MDA3NmM0NDk1NjY3NDg5OGI3YTY2Mjg1MjJiZjI0ZDYvdGFibGU6MjA3MGE0N2IwYTgwNDA0MmI2YjJjZmUwYmY0YjQyNWQvdGFibGVyYW5nZToyMDcwYTQ3YjBhODA0MDQyYjZiMmNmZTBiZjRiNDI1ZF81LTEtMS0xLTYwMDE4_5f2372df-ce15-4aca-a871-2bed3c7bec7b"
      unitRef="usd">-510000</us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODI5L2ZyYWc6MDA3NmM0NDk1NjY3NDg5OGI3YTY2Mjg1MjJiZjI0ZDYvdGFibGU6MjA3MGE0N2IwYTgwNDA0MmI2YjJjZmUwYmY0YjQyNWQvdGFibGVyYW5nZToyMDcwYTQ3YjBhODA0MDQyYjZiMmNmZTBiZjRiNDI1ZF81LTMtMS0xLTYwMDE4_a04faaa3-70bd-4be2-a212-77ba06418082"
      unitRef="usd">-2048000</us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODI5L2ZyYWc6MDA3NmM0NDk1NjY3NDg5OGI3YTY2Mjg1MjJiZjI0ZDYvdGFibGU6MjA3MGE0N2IwYTgwNDA0MmI2YjJjZmUwYmY0YjQyNWQvdGFibGVyYW5nZToyMDcwYTQ3YjBhODA0MDQyYjZiMmNmZTBiZjRiNDI1ZF81LTUtMS0xLTYwMDE4_6ce94b78-3d64-42d9-b309-21a987e0ef8e"
      unitRef="usd">-582000</us-gaap:ProductWarrantyAccrualPreexistingIncreaseDecrease>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODI5L2ZyYWc6MDA3NmM0NDk1NjY3NDg5OGI3YTY2Mjg1MjJiZjI0ZDYvdGFibGU6MjA3MGE0N2IwYTgwNDA0MmI2YjJjZmUwYmY0YjQyNWQvdGFibGVyYW5nZToyMDcwYTQ3YjBhODA0MDQyYjZiMmNmZTBiZjRiNDI1ZF82LTEtMS0xLTYyMzA1_8c1ec9c9-0237-4a10-9154-f101adad0c5d"
      unitRef="usd">30401000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODI5L2ZyYWc6MDA3NmM0NDk1NjY3NDg5OGI3YTY2Mjg1MjJiZjI0ZDYvdGFibGU6MjA3MGE0N2IwYTgwNDA0MmI2YjJjZmUwYmY0YjQyNWQvdGFibGVyYW5nZToyMDcwYTQ3YjBhODA0MDQyYjZiMmNmZTBiZjRiNDI1ZF82LTMtMS0xLTYyMzA1_06a46cce-ed4a-4f82-a4de-f8e7eebaa9b6"
      unitRef="usd">22075000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="ia35d79f7a8cd4f3e92d3a94270701280_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODI5L2ZyYWc6MDA3NmM0NDk1NjY3NDg5OGI3YTY2Mjg1MjJiZjI0ZDYvdGFibGU6MjA3MGE0N2IwYTgwNDA0MmI2YjJjZmUwYmY0YjQyNWQvdGFibGVyYW5nZToyMDcwYTQ3YjBhODA0MDQyYjZiMmNmZTBiZjRiNDI1ZF82LTUtMS0xLTYyMzA1_82daf464-3871-4d1c-be72-3f4ae00e8b32"
      unitRef="usd">16724000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODI5L2ZyYWc6MDA3NmM0NDk1NjY3NDg5OGI3YTY2Mjg1MjJiZjI0ZDYvdGV4dHJlZ2lvbjowMDc2YzQ0OTU2Njc0ODk4YjdhNjYyODUyMmJmMjRkNl8xMDk5NTExNjI5MTMx_91e60602-4a4d-460b-a074-15e092cfd63d"
      unitRef="usd">30400000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODI5L2ZyYWc6MDA3NmM0NDk1NjY3NDg5OGI3YTY2Mjg1MjJiZjI0ZDYvdGV4dHJlZ2lvbjowMDc2YzQ0OTU2Njc0ODk4YjdhNjYyODUyMmJmMjRkNl8xMDk5NTExNjI5MTM5_a99c586a-db3e-4275-acaf-ffba0afdb3b9"
      unitRef="usd">22100000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrualClassifiedCurrent
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODI5L2ZyYWc6MDA3NmM0NDk1NjY3NDg5OGI3YTY2Mjg1MjJiZjI0ZDYvdGFibGU6MjcxMTNhNzAwZWU4NDBiMGI2MDEyOWNkZjU0YjcwYjAvdGFibGVyYW5nZToyNzExM2E3MDBlZTg0MGIwYjYwMTI5Y2RmNTRiNzBiMF8yLTEtMS0xLTYwMDE4_45c6640c-7137-4747-9ea4-ad09e18704ff"
      unitRef="usd">13076000</us-gaap:ProductWarrantyAccrualClassifiedCurrent>
    <us-gaap:ProductWarrantyAccrualClassifiedCurrent
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODI5L2ZyYWc6MDA3NmM0NDk1NjY3NDg5OGI3YTY2Mjg1MjJiZjI0ZDYvdGFibGU6MjcxMTNhNzAwZWU4NDBiMGI2MDEyOWNkZjU0YjcwYjAvdGFibGVyYW5nZToyNzExM2E3MDBlZTg0MGIwYjYwMTI5Y2RmNTRiNzBiMF8yLTMtMS0xLTYwMDE4_330012d7-6ccb-4b2b-83cc-df4067ee44b1"
      unitRef="usd">8409000</us-gaap:ProductWarrantyAccrualClassifiedCurrent>
    <us-gaap:ProductWarrantyAccrualClassifiedCurrent
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODI5L2ZyYWc6MDA3NmM0NDk1NjY3NDg5OGI3YTY2Mjg1MjJiZjI0ZDYvdGFibGU6MjcxMTNhNzAwZWU4NDBiMGI2MDEyOWNkZjU0YjcwYjAvdGFibGVyYW5nZToyNzExM2E3MDBlZTg0MGIwYjYwMTI5Y2RmNTRiNzBiMF8yLTMtMS0xLTYwMDE4_e4f44c40-f7c3-4329-92c2-331c6b16c007"
      unitRef="usd">8409000</us-gaap:ProductWarrantyAccrualClassifiedCurrent>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODI5L2ZyYWc6MDA3NmM0NDk1NjY3NDg5OGI3YTY2Mjg1MjJiZjI0ZDYvdGFibGU6MjcxMTNhNzAwZWU4NDBiMGI2MDEyOWNkZjU0YjcwYjAvdGFibGVyYW5nZToyNzExM2E3MDBlZTg0MGIwYjYwMTI5Y2RmNTRiNzBiMF8zLTEtMS0xLTYwMDE4_bf7cf3c2-89ec-4e14-9195-dd056ccdd0dc"
      unitRef="usd">17325000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODI5L2ZyYWc6MDA3NmM0NDk1NjY3NDg5OGI3YTY2Mjg1MjJiZjI0ZDYvdGFibGU6MjcxMTNhNzAwZWU4NDBiMGI2MDEyOWNkZjU0YjcwYjAvdGFibGVyYW5nZToyNzExM2E3MDBlZTg0MGIwYjYwMTI5Y2RmNTRiNzBiMF8zLTMtMS0xLTYwMDE4_24962e32-4e92-4624-9e76-2d3a67b9c411"
      unitRef="usd">13666000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:ProductWarrantyAccrualNoncurrent
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODI5L2ZyYWc6MDA3NmM0NDk1NjY3NDg5OGI3YTY2Mjg1MjJiZjI0ZDYvdGFibGU6MjcxMTNhNzAwZWU4NDBiMGI2MDEyOWNkZjU0YjcwYjAvdGFibGVyYW5nZToyNzExM2E3MDBlZTg0MGIwYjYwMTI5Y2RmNTRiNzBiMF8zLTMtMS0xLTYwMDE4_8f028054-834b-4a40-ad2e-d9938a6ddf15"
      unitRef="usd">13666000</us-gaap:ProductWarrantyAccrualNoncurrent>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODI5L2ZyYWc6MDA3NmM0NDk1NjY3NDg5OGI3YTY2Mjg1MjJiZjI0ZDYvdGFibGU6MjcxMTNhNzAwZWU4NDBiMGI2MDEyOWNkZjU0YjcwYjAvdGFibGVyYW5nZToyNzExM2E3MDBlZTg0MGIwYjYwMTI5Y2RmNTRiNzBiMF80LTEtMS0xLTYyMzA3_fad47301-a803-4ab0-9b13-ed9a0fbf205e"
      unitRef="usd">30401000</us-gaap:ProductWarrantyAccrual>
    <us-gaap:ProductWarrantyAccrual
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODI5L2ZyYWc6MDA3NmM0NDk1NjY3NDg5OGI3YTY2Mjg1MjJiZjI0ZDYvdGFibGU6MjcxMTNhNzAwZWU4NDBiMGI2MDEyOWNkZjU0YjcwYjAvdGFibGVyYW5nZToyNzExM2E3MDBlZTg0MGIwYjYwMTI5Y2RmNTRiNzBiMF80LTMtMS0xLTYyMzA4_8f39f1f1-635b-40df-b983-b152ac18b1be"
      unitRef="usd">22075000</us-gaap:ProductWarrantyAccrual>
    <tndm:WarrantLiabilitiesPolicyTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODE5L2ZyYWc6MTY2YTMyNmRjNDc0NDJiMjkyMzE4ZjRjOWQ3MTNkZjkvdGV4dHJlZ2lvbjoxNjZhMzI2ZGM0NzQ0MmIyOTIzMThmNGM5ZDcxM2RmOV85MzQ1ODQ4ODM2NjU2_656bbb07-8605-4a4c-ad23-fa9777b2c263">Common Stock Warrant LiabilitiesThe Company accounts for certain stock warrants as a liability in the consolidated financial statements when they contain a provision within the warrant contracts that could require cash settlement in the event the Company did not have an active registration statement. The fair value of these common stock warrants is remeasured at each financial reporting period with any changes in fair value being recognized as a component of other income (expense) in the accompanying statements of operations and comprehensive income (loss).</tndm:WarrantLiabilitiesPolicyTextBlock>
    <us-gaap:CompensationRelatedCostsPolicyTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODI0L2ZyYWc6ZDVhZGMxZWVmNDllNGQ5ZGFmOWJjMTE2MTExNGViYTkvdGV4dHJlZ2lvbjpkNWFkYzFlZWY0OWU0ZDlkYWY5YmMxMTYxMTE0ZWJhOV85MzQ1ODQ4ODM3MTEw_ef8f302b-ab1c-44b8-a2de-61dee1f7e87b">&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock-Based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Stock-based compensation cost is measured at the grant date based on the estimated fair value of the award, and the portion that is ultimately expected to vest is recognized as compensation expense over the requisite service period on a straight-line basis. The Company estimates the fair value of stock options issued under the Company&#x2019;s Amended and Restated 2013 Stock Incentive Plan (2013 Plan) and the fair value of the employees&#x2019; purchase rights under the Company&#x2019;s 2013 Employee Stock Purchase Plan (ESPP) using the Black-Scholes option-pricing model on the date of grant. The Black-Scholes option-pricing model requires the use of assumptions about a number of variables, including stock price volatility, expected term, dividend yield and risk-free interest rate (see Note 8, &#x201c;Stockholders&#x2019; Equity&#x201d;). The fair value of restricted stock unit (RSU) awards issued under the Company&#x2019;s 2013 Plan that vest solely based on service is estimated based on the fair market value of the underlying stock on the date of grant. The fair value of RSU awards issued under the 2013 Plan that vest based upon the Company&#x2019;s actual performance relative to predefined performance metrics is estimated based on the fair market value of the underlying stock on the date of grant and the probability that the specified performance criteria will be met, subject to the awardee&#x2019;s continuing service through the measurement date. At each reporting period, we reassess the probability of the achievement of such performance metrics. Any expense change resulting from an adjustment in the estimated shares to be released is recorded in the period of adjustment.&lt;/span&gt;&lt;/div&gt;</us-gaap:CompensationRelatedCostsPolicyTextBlock>
    <us-gaap:ResearchAndDevelopmentExpensePolicy
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODU2L2ZyYWc6ZGEwYTdlNTJhMmJkNDAzNmJhZDkzNzAxMWI4NGI5MTkvdGV4dHJlZ2lvbjpkYTBhN2U1MmEyYmQ0MDM2YmFkOTM3MDExYjg0YjkxOV85MzQ1ODQ4ODM2NTU5_bb3d3c2f-3874-44d0-9488-1e9815b03266">&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Research and Development Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;All research and development costs are charged to expense as incurred. Such costs include personnel-related costs, including stock-based compensation, supplies, license fees, development prototypes, outside design and testing services, depreciation, allocated facilities and information services, clinical trial costs, milestone payments under the Company&#x2019;s development and commercialization agreements and other indirect costs.&lt;/span&gt;&lt;/div&gt;</us-gaap:ResearchAndDevelopmentExpensePolicy>
    <us-gaap:IncomeTaxPolicyTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODUwL2ZyYWc6NTg4YTgxZTMwZWIyNDFmMjhhNTMyZDkyNDUxMjVjN2EvdGV4dHJlZ2lvbjo1ODhhODFlMzBlYjI0MWYyOGE1MzJkOTI0NTEyNWM3YV80Mzk4MDQ2NTE1MTMz_a70252c9-dad6-47dd-b7c7-5cef56136d1c">&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Income Taxes&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company uses the asset and liability method of accounting for income taxes. Deferred tax assets or liabilities are recognized based on the temporary differences between financial statement and income tax bases of assets and liabilities using enacted tax rates in effect for the years in which the differences are expected to reverse. Tax law and rate changes are reflected in income in the period such changes are enacted. A valuation allowance is recorded when it is more likely than not that some of the deferred tax assets will not be realized. The Company includes interest and penalties related to income taxes, including unrecognized tax benefits, within income tax expense.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s income tax returns are based on calculations and assumptions that are subject to examination by the Internal Revenue Service and other tax authorities. In addition, the calculation of the Company&#x2019;s tax liabilities involves dealing with uncertainties in the application of complex tax regulations. The Company recognizes liabilities for uncertain tax positions using a two-step approach. The first step is to evaluate the tax position for recognition by determining if the weight of available evidence indicates that it is more likely than not that the position will be sustained on audit, including resolution of related appeals or litigation processes, if any. The second step is to measure the tax benefit as the largest amount that is more than&#160;50%&#160;likely of being realized upon settlement. While the Company believes it has appropriate support for the positions taken on its tax returns, the Company regularly assesses the potential outcomes of examinations by tax authorities in determining the adequacy of its provision for income taxes. The Company continually assesses the likelihood and amount of potential revisions and adjusts the income tax provision, income taxes payable and deferred taxes in the period in which the facts that give rise to a revision become known.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Significant judgment is required in determining the Company&#x2019;s provision for income taxes, deferred tax assets and liabilities and the valuation allowance recorded against net deferred tax assets. Deferred tax assets and liabilities are determined using the enacted tax rates in effect for the years in which those tax assets are expected to be realized. A valuation allowance is established when it is more likely than not the future realization of all or some of the deferred tax assets will not be achieved. The evaluation of the need for a valuation allowance is performed on a jurisdiction-by-jurisdiction basis, and includes a review of all available positive and negative evidence. Factors reviewed include projections of pre-tax book income for the foreseeable future, determination of cumulative pre-tax book income after permanent differences, earnings history, and reliability of forecasting. The Company will continue to assess the need for a valuation allowance on its deferred tax assets by evaluating both positive and negative evidence that may exist. Any adjustment to the net deferred tax asset valuation allowance would be recorded in the statement of operations for the period that the adjustment is determined to be required.&lt;/span&gt;&lt;/div&gt;The Company is required to file federal and state income tax returns in the United States and various other state jurisdictions, and a corporation income tax return in Canada. The preparation of these income tax returns requires the Company to interpret the applicable tax laws and regulations in effect in such jurisdictions, which could affect the amount of tax paid by the Company. An amount is accrued for the estimate of additional tax liability, including interest and penalties, for any uncertain tax positions taken or expected to be taken in an income tax return. The Company reviews and updates the accrual for uncertain tax positions as more definitive information becomes available</us-gaap:IncomeTaxPolicyTextBlock>
    <us-gaap:ComprehensiveIncomePolicyPolicyTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNzkxL2ZyYWc6OTFlYTczNjJiY2EwNDNiNWE3MjZiYjIwM2UyYzdiNWQvdGV4dHJlZ2lvbjo5MWVhNzM2MmJjYTA0M2I1YTcyNmJiMjAzZTJjN2I1ZF85MzQ1ODQ4ODM2NTMw_a176337e-aa5b-4d2a-836f-f3871e19dc9c">&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Comprehensive Income (Loss)&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;All components of comprehensive income (loss), including net income (loss), are reported in the consolidated financial statements in the period in which they are recognized. Comprehensive income (loss) is defined as the change in equity during a period from transactions and other events and circumstances from non-owner sources, including unrealized gains and losses on marketable securities and foreign currency translation adjustments.&lt;/span&gt;&lt;/div&gt;</us-gaap:ComprehensiveIncomePolicyPolicyTextBlock>
    <us-gaap:EarningsPerSharePolicyTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODAxL2ZyYWc6ZWI0ZjIzZDE1YWEzNGUyZmEwNmI5NzcyYzE0ZDU3YTIvdGV4dHJlZ2lvbjplYjRmMjNkMTVhYTM0ZTJmYTA2Yjk3NzJjMTRkNTdhMl80Mzk4MDQ2NTEzMDE1_d50673a4-8da2-493a-8f42-73f95dfbec6e">&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Net Income (Loss) Per Share&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Basic net income (loss) per share is calculated by dividing the net income (loss) by the weighted average number of common shares outstanding for the period, without consideration for common stock equivalents. Diluted net income per share reflects the potential dilution that would occur if securities exercisable for or convertible into common stock were exercised for or converted into common stock. Dilutive common share equivalents are comprised of stock options and unvested RSUs outstanding under the Company&#x2019;s stock plans, potential awards to be granted pursuant to the ESPP, and common stock warrants, each calculated using the treasury stock method; and shares issuable upon conversion of the convertible senior notes calculated using the if-converted method. For common stock warrants that are recorded as a liability in the accompanying consolidated balance sheets, the calculation of diluted loss per share requires that, to the extent the average market price of the underlying shares for the reporting period exceeds the exercise price of the warrants and the presumed exercise of the warrants is dilutive to loss per share for the period, an adjustment is made to net loss used in the calculation to remove the change in fair value of the warrants from the numerator for the period. Likewise, an adjustment to the denominator is required to reflect the related dilutive shares, if any, under the treasury stock method.&lt;/span&gt;&lt;/div&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODAxL2ZyYWc6ZWI0ZjIzZDE1YWEzNGUyZmEwNmI5NzcyYzE0ZDU3YTIvdGV4dHJlZ2lvbjplYjRmMjNkMTVhYTM0ZTJmYTA2Yjk3NzJjMTRkNTdhMl83Njk2NTgxMzk5NjM2_3e59d7ed-8dad-42fd-9d4f-4af970863e6e">For the year ended December&#160;31, 2021, the numerator and denominator of the diluted net income per share computation were calculated 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:80.332%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.468%"/&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="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income - basic and diluted&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,566&#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;td colspan="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;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;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares outstanding - basic&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,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="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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Dilutive common share equivalents:&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 2px 10pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Options to purchase common stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,129&#160;&lt;/span&gt;&lt;/td&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;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Warrants to purchase common stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;157&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Awards to be granted under the ESPP&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="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;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares outstanding - diluted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64,349&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="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;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODAxL2ZyYWc6ZWI0ZjIzZDE1YWEzNGUyZmEwNmI5NzcyYzE0ZDU3YTIvdGFibGU6ZWM5YmRlMDE0ZjEyNDcwNGE4ZTAxNGJmYmE2ODEwNDIvdGFibGVyYW5nZTplYzliZGUwMTRmMTI0NzA0YThlMDE0YmZiYTY4MTA0Ml8yLTEtMS0xLTY2MTA4_90bb0638-05d1-4395-adfa-9229967c6420"
      unitRef="usd">15566000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODAxL2ZyYWc6ZWI0ZjIzZDE1YWEzNGUyZmEwNmI5NzcyYzE0ZDU3YTIvdGFibGU6ZWM5YmRlMDE0ZjEyNDcwNGE4ZTAxNGJmYmE2ODEwNDIvdGFibGVyYW5nZTplYzliZGUwMTRmMTI0NzA0YThlMDE0YmZiYTY4MTA0Ml8yLTEtMS0xLTY2MTA4_d2cde628-d332-4bcb-ac53-be101d76c2aa"
      unitRef="usd">15566000</us-gaap:NetIncomeLossAvailableToCommonStockholdersBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODAxL2ZyYWc6ZWI0ZjIzZDE1YWEzNGUyZmEwNmI5NzcyYzE0ZDU3YTIvdGFibGU6ZWM5YmRlMDE0ZjEyNDcwNGE4ZTAxNGJmYmE2ODEwNDIvdGFibGVyYW5nZTplYzliZGUwMTRmMTI0NzA0YThlMDE0YmZiYTY4MTA0Ml82LTEtMS0xLTY2MTA4_d8fdfe6b-0dd0-429b-9694-0bee69bf692c"
      unitRef="shares">63000000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="i1f32d8fe398e409f8655d31724f61fff_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODAxL2ZyYWc6ZWI0ZjIzZDE1YWEzNGUyZmEwNmI5NzcyYzE0ZDU3YTIvdGFibGU6ZWM5YmRlMDE0ZjEyNDcwNGE4ZTAxNGJmYmE2ODEwNDIvdGFibGVyYW5nZTplYzliZGUwMTRmMTI0NzA0YThlMDE0YmZiYTY4MTA0Ml84LTEtMS0xLTY2MTA4_8ed973a3-89e6-4e37-a572-bd64dd82226a"
      unitRef="shares">1129000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="ia864cc9668fc44408c0b2c3ced680d75_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODAxL2ZyYWc6ZWI0ZjIzZDE1YWEzNGUyZmEwNmI5NzcyYzE0ZDU3YTIvdGFibGU6ZWM5YmRlMDE0ZjEyNDcwNGE4ZTAxNGJmYmE2ODEwNDIvdGFibGVyYW5nZTplYzliZGUwMTRmMTI0NzA0YThlMDE0YmZiYTY4MTA0Ml85LTEtMS0xLTY2MTA4_52d0bb1f-70d9-4eb0-963d-84ef27c5480d"
      unitRef="shares">62000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODAxL2ZyYWc6ZWI0ZjIzZDE1YWEzNGUyZmEwNmI5NzcyYzE0ZDU3YTIvdGFibGU6ZWM5YmRlMDE0ZjEyNDcwNGE4ZTAxNGJmYmE2ODEwNDIvdGFibGVyYW5nZTplYzliZGUwMTRmMTI0NzA0YThlMDE0YmZiYTY4MTA0Ml8xMC0xLTEtMS02NjEwOA_d2b6c0c0-a6c6-48fb-825f-bbb93adb4dc1"
      unitRef="shares">157000</us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="ib1f1ff303e8c40f88385c5444909e279_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODAxL2ZyYWc6ZWI0ZjIzZDE1YWEzNGUyZmEwNmI5NzcyYzE0ZDU3YTIvdGFibGU6ZWM5YmRlMDE0ZjEyNDcwNGE4ZTAxNGJmYmE2ODEwNDIvdGFibGVyYW5nZTplYzliZGUwMTRmMTI0NzA0YThlMDE0YmZiYTY4MTA0Ml8xMS0xLTEtMS02NjEwOA_88f86183-f456-436c-a895-b00dd3b2c0dc"
      unitRef="shares">1000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODAxL2ZyYWc6ZWI0ZjIzZDE1YWEzNGUyZmEwNmI5NzcyYzE0ZDU3YTIvdGFibGU6ZWM5YmRlMDE0ZjEyNDcwNGE4ZTAxNGJmYmE2ODEwNDIvdGFibGVyYW5nZTplYzliZGUwMTRmMTI0NzA0YThlMDE0YmZiYTY4MTA0Ml8xMy0xLTEtMS02ODk2OQ_7c5f13a3-bca6-4195-b60b-ec78d72c2ec0"
      unitRef="shares">64349000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODAxL2ZyYWc6ZWI0ZjIzZDE1YWEzNGUyZmEwNmI5NzcyYzE0ZDU3YTIvdGV4dHJlZ2lvbjplYjRmMjNkMTVhYTM0ZTJmYTA2Yjk3NzJjMTRkNTdhMl85MzQ1ODQ4ODM4MDA2_afa7d666-3ca9-4ba0-921a-e757d768423e">&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;Potentially dilutive securities outstanding and not included in the calculation of diluted net loss per share (because inclusion would be anti-dilutive) are as follows (in thousands, in common stock equivalent shares):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.243%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.631%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Options to purchase common stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,124&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,021&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,619&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Warrants to purchase common stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;379&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;611&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Awards granted under the ESPP&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Convertible senior notes (if-converted)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,554&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,605&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;N/A&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 colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,679&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,086&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,235&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i69b3fd32ca714a69ab37d19949a76f48_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODAxL2ZyYWc6ZWI0ZjIzZDE1YWEzNGUyZmEwNmI5NzcyYzE0ZDU3YTIvdGFibGU6YWFlMzFkNTg3ODZiNDJkMWI2NTY2NTUyY2YxMTI4OWYvdGFibGVyYW5nZTphYWUzMWQ1ODc4NmI0MmQxYjY1NjY1NTJjZjExMjg5Zl8zLTEtMS0xLTU5OTE5_10dd8694-8beb-4c40-bae0-0a7890c99e2a"
      unitRef="shares">3124000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i0bb10a37fc3b4efabda97a3cebd4b074_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODAxL2ZyYWc6ZWI0ZjIzZDE1YWEzNGUyZmEwNmI5NzcyYzE0ZDU3YTIvdGFibGU6YWFlMzFkNTg3ODZiNDJkMWI2NTY2NTUyY2YxMTI4OWYvdGFibGVyYW5nZTphYWUzMWQ1ODc4NmI0MmQxYjY1NjY1NTJjZjExMjg5Zl8zLTMtMS0xLTU5OTE5_21e76cf8-9ad1-4a2e-904c-a4ba29153801"
      unitRef="shares">5021000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i971650d625ac48c88ec8948f7c11c1f8_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODAxL2ZyYWc6ZWI0ZjIzZDE1YWEzNGUyZmEwNmI5NzcyYzE0ZDU3YTIvdGFibGU6YWFlMzFkNTg3ODZiNDJkMWI2NTY2NTUyY2YxMTI4OWYvdGFibGVyYW5nZTphYWUzMWQ1ODc4NmI0MmQxYjY1NjY1NTJjZjExMjg5Zl8zLTUtMS0xLTU5OTE5_6d197234-270d-4306-8f38-be7ea154747c"
      unitRef="shares">5619000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i4376d603dcfb4edcaec231eb761cb737_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODAxL2ZyYWc6ZWI0ZjIzZDE1YWEzNGUyZmEwNmI5NzcyYzE0ZDU3YTIvdGFibGU6YWFlMzFkNTg3ODZiNDJkMWI2NTY2NTUyY2YxMTI4OWYvdGFibGVyYW5nZTphYWUzMWQ1ODc4NmI0MmQxYjY1NjY1NTJjZjExMjg5Zl80LTEtMS0xLTU5OTE5_0304be64-6179-4f96-97ca-e11dc44b8c5a"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i011a59fdaa94430295f721e04c29851e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODAxL2ZyYWc6ZWI0ZjIzZDE1YWEzNGUyZmEwNmI5NzcyYzE0ZDU3YTIvdGFibGU6YWFlMzFkNTg3ODZiNDJkMWI2NTY2NTUyY2YxMTI4OWYvdGFibGVyYW5nZTphYWUzMWQ1ODc4NmI0MmQxYjY1NjY1NTJjZjExMjg5Zl80LTMtMS0xLTU5OTE5_2d8511da-c405-488c-aa86-8b66a7f7fb18"
      unitRef="shares">78000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i1f3e5e76a20645a3b6c1abcee129e94d_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODAxL2ZyYWc6ZWI0ZjIzZDE1YWEzNGUyZmEwNmI5NzcyYzE0ZDU3YTIvdGFibGU6YWFlMzFkNTg3ODZiNDJkMWI2NTY2NTUyY2YxMTI4OWYvdGFibGVyYW5nZTphYWUzMWQ1ODc4NmI0MmQxYjY1NjY1NTJjZjExMjg5Zl81LTEtMS0xLTY2MTQy_366ad8d8-d07e-40d8-97f0-90cf8890939e"
      unitRef="shares">1000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i62a1d94723384b3e8fcb062f9ba18930_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODAxL2ZyYWc6ZWI0ZjIzZDE1YWEzNGUyZmEwNmI5NzcyYzE0ZDU3YTIvdGFibGU6YWFlMzFkNTg3ODZiNDJkMWI2NTY2NTUyY2YxMTI4OWYvdGFibGVyYW5nZTphYWUzMWQ1ODc4NmI0MmQxYjY1NjY1NTJjZjExMjg5Zl81LTMtMS0xLTY2MTQy_e8249480-4082-4d8d-8c69-501abff8c582"
      unitRef="shares">379000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i891a11c83305450d946c3e9d92df3b3a_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODAxL2ZyYWc6ZWI0ZjIzZDE1YWEzNGUyZmEwNmI5NzcyYzE0ZDU3YTIvdGFibGU6YWFlMzFkNTg3ODZiNDJkMWI2NTY2NTUyY2YxMTI4OWYvdGFibGVyYW5nZTphYWUzMWQ1ODc4NmI0MmQxYjY1NjY1NTJjZjExMjg5Zl81LTUtMS0xLTY2MTQy_828b4427-f0cf-422e-8c62-f2ac50e71220"
      unitRef="shares">611000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i34ca3f114c044ee6aaeb9471e171919e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODAxL2ZyYWc6ZWI0ZjIzZDE1YWEzNGUyZmEwNmI5NzcyYzE0ZDU3YTIvdGFibGU6YWFlMzFkNTg3ODZiNDJkMWI2NTY2NTUyY2YxMTI4OWYvdGFibGVyYW5nZTphYWUzMWQ1ODc4NmI0MmQxYjY1NjY1NTJjZjExMjg5Zl81LTEtMS0xLTU5OTE5_93664ad7-daf9-4844-bc1a-99e9bfac460c"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i7edf3102210d40e48f4bb21a8199c44c_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODAxL2ZyYWc6ZWI0ZjIzZDE1YWEzNGUyZmEwNmI5NzcyYzE0ZDU3YTIvdGFibGU6YWFlMzFkNTg3ODZiNDJkMWI2NTY2NTUyY2YxMTI4OWYvdGFibGVyYW5nZTphYWUzMWQ1ODc4NmI0MmQxYjY1NjY1NTJjZjExMjg5Zl81LTMtMS0xLTU5OTE5_f2cb3711-a1ac-4a8e-8115-a503a8963153"
      unitRef="shares">3000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="iaeebef4aadcd46bbacb2c55ac413ce14_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODAxL2ZyYWc6ZWI0ZjIzZDE1YWEzNGUyZmEwNmI5NzcyYzE0ZDU3YTIvdGFibGU6YWFlMzFkNTg3ODZiNDJkMWI2NTY2NTUyY2YxMTI4OWYvdGFibGVyYW5nZTphYWUzMWQ1ODc4NmI0MmQxYjY1NjY1NTJjZjExMjg5Zl81LTUtMS0xLTU5OTE5_fb54ed2e-bf8b-4724-b985-a8a206cf292b"
      unitRef="shares">5000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ic85e6d6822e5443389415da024bbe8ae_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODAxL2ZyYWc6ZWI0ZjIzZDE1YWEzNGUyZmEwNmI5NzcyYzE0ZDU3YTIvdGFibGU6YWFlMzFkNTg3ODZiNDJkMWI2NTY2NTUyY2YxMTI4OWYvdGFibGVyYW5nZTphYWUzMWQ1ODc4NmI0MmQxYjY1NjY1NTJjZjExMjg5Zl82LTEtMS0xLTU5OTE5_aed6d3ef-01aa-4770-be9e-1730d9bc8905"
      unitRef="shares">2554000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i3f98c5ff39b94f7e8e4b0824bffa7268_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODAxL2ZyYWc6ZWI0ZjIzZDE1YWEzNGUyZmEwNmI5NzcyYzE0ZDU3YTIvdGFibGU6YWFlMzFkNTg3ODZiNDJkMWI2NTY2NTUyY2YxMTI4OWYvdGFibGVyYW5nZTphYWUzMWQ1ODc4NmI0MmQxYjY1NjY1NTJjZjExMjg5Zl82LTMtMS0xLTU5OTE5_3e44fb3b-8f58-4886-8056-27fda1fb7d30"
      unitRef="shares">1605000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODAxL2ZyYWc6ZWI0ZjIzZDE1YWEzNGUyZmEwNmI5NzcyYzE0ZDU3YTIvdGFibGU6YWFlMzFkNTg3ODZiNDJkMWI2NTY2NTUyY2YxMTI4OWYvdGFibGVyYW5nZTphYWUzMWQ1ODc4NmI0MmQxYjY1NjY1NTJjZjExMjg5Zl83LTEtMS0xLTYyMzEy_26d789f1-de74-41ad-9fa1-7638bf640198"
      unitRef="shares">5679000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODAxL2ZyYWc6ZWI0ZjIzZDE1YWEzNGUyZmEwNmI5NzcyYzE0ZDU3YTIvdGFibGU6YWFlMzFkNTg3ODZiNDJkMWI2NTY2NTUyY2YxMTI4OWYvdGFibGVyYW5nZTphYWUzMWQ1ODc4NmI0MmQxYjY1NjY1NTJjZjExMjg5Zl83LTMtMS0xLTYyMzEy_c54abf9b-a730-45b2-8dd0-b062da8d1349"
      unitRef="shares">7086000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xODAxL2ZyYWc6ZWI0ZjIzZDE1YWEzNGUyZmEwNmI5NzcyYzE0ZDU3YTIvdGFibGU6YWFlMzFkNTg3ODZiNDJkMWI2NTY2NTUyY2YxMTI4OWYvdGFibGVyYW5nZTphYWUzMWQ1ODc4NmI0MmQxYjY1NjY1NTJjZjExMjg5Zl83LTUtMS0xLTYyMzEy_0f24abb0-9525-4157-b939-b5b37368efc9"
      unitRef="shares">6235000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNzk2L2ZyYWc6NjdjOGYxYjVmYmI1NDM3Mjk2MjVjOWY1NzU2ZWJkZTUvdGV4dHJlZ2lvbjo2N2M4ZjFiNWZiYjU0MzcyOTYyNWM5ZjU3NTZlYmRlNV85MzQ1ODQ4ODQwNjk3_7f67e67b-6c23-4719-bc62-dd9ab04ad221">&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recent Accounting Pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In June 2020, the FASB issued ASU No. 2020-06, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Accounting for Convertible Instruments and Contracts in&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%"&gt;an Entity&#x2019;s Own Equity&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;, which is intended to simplify the accounting for convertible instruments. This new guidance eliminated certain models that require separate accounting for embedded conversion features, and eliminated certain of the conditions for equity classification for contracts in an entity&#x2019;s own equity. Accordingly, a convertible debt instrument will be accounted for as a single liability measured at its amortized cost, as long as no other features require bifurcation and recognition as derivatives. The new guidance could be adopted through either a modified retrospective method of transition or a fully retrospective method of transition. ASU 2020-06 is effective for public business entities for fiscal years beginning after December 15, 2021, including interim periods within those fiscal years. Early adoption is permitted for fiscal years beginning after December 15, 2020, including interim periods within those fiscal years. The Company elected to early adopt the new standard on January 1, 2021 using the modified retrospective method and, accordingly, recorded a net reduction to accumulated deficit of $9.0&#160;million, a decrease to additional paid-in capital of $85.8&#160;million, and an increase to convertible senior notes, net - long-term of $76.8&#160;million to reflect the impact of the accounting change (see Note 7, &#x201c;Debt&#x201d;).&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="id4a16a7ddac24935b1b582ac9d96b310_I20210101"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNzk2L2ZyYWc6NjdjOGYxYjVmYmI1NDM3Mjk2MjVjOWY1NzU2ZWJkZTUvdGV4dHJlZ2lvbjo2N2M4ZjFiNWZiYjU0MzcyOTYyNWM5ZjU3NTZlYmRlNV8yMTQ0MDQ3Njc1OTMzOQ_4a637d07-2b70-4d6c-aa5a-74350667b877"
      unitRef="usd">9000000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AdditionalPaidInCapital
      contextRef="id4a16a7ddac24935b1b582ac9d96b310_I20210101"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNzk2L2ZyYWc6NjdjOGYxYjVmYmI1NDM3Mjk2MjVjOWY1NzU2ZWJkZTUvdGV4dHJlZ2lvbjo2N2M4ZjFiNWZiYjU0MzcyOTYyNWM5ZjU3NTZlYmRlNV8yMTQ0MDQ3Njc1OTMyNA_5d20b843-3db7-4a98-bbad-427b40c07734"
      unitRef="usd">-85800000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:ConvertibleDebtNoncurrent
      contextRef="id4a16a7ddac24935b1b582ac9d96b310_I20210101"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNzk2L2ZyYWc6NjdjOGYxYjVmYmI1NDM3Mjk2MjVjOWY1NzU2ZWJkZTUvdGV4dHJlZ2lvbjo2N2M4ZjFiNWZiYjU0MzcyOTYyNWM5ZjU3NTZlYmRlNV8yMTQ0MDQ3Njc1OTMwOQ_a249d99f-cf44-44e9-af32-fa119e11c58e"
      unitRef="usd">76800000</us-gaap:ConvertibleDebtNoncurrent>
    <us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGV4dHJlZ2lvbjo2MjFjMDYxZTU4MTU0MGJjYTA1OTZhMjdmMGEwZDFjYl83Njk2NTgxMzk3ODcw_a473076d-08a6-4192-ab80-00d586570cdb">Short-Term Investments&lt;div style="margin-top:12pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company invests in marketable securities primarily consisting of debt instruments of the U.S. Government, U.S. Government-sponsored enterprises, and financial institutions and corporations with strong credit ratings. The following represents a summary of the estimated fair value of short-term investments at December&#160;31, 2021 and 2020 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:49.192%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.603%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;At December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Amortized&lt;br/&gt;Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Gross Unrealized&lt;br/&gt;Gain&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Gross Unrealized&lt;br/&gt;Loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Estimated&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Available-for-sale securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;222,206&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(482)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;221,724&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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 5.5pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;218,391&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(24)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;218,381&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;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 5.5pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate debt securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,881&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(45)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,836&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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 5.5pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Government-sponsored enterprises&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,773&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(88)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;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 5.5pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Supranational bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,003&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,003&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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 14.5pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;553,254&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(639)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;552,630&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:49.192%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.603%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;At December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Amortized&lt;br/&gt;Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Gross Unrealized&lt;br/&gt;Gain&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Gross Unrealized&lt;br/&gt;Loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Estimated&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Available-for-sale securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143,244&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143,254&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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 5.5pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,892&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,896&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;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 5.5pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate debt securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,788&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,823&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Government-sponsored enterprises&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,350&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;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 14.5pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;390,254&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(17)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;390,323&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The contractual maturities of available-for-sale debt securities as of December&#160;31, 2021, were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:48.169%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.420%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.420%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.423%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Years to Maturity&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;At December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Within One Year&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;One to Two Years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;105,231&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;116,493&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;221,724&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;218,381&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;218,381&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate debt securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,836&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,836&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Government-sponsored enterprises&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,282&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,404&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Supranational bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,003&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,003&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;417,733&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;134,897&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;552,630&#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="text-indent:45pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;The Company has classified all marketable securities, regardless of maturity, as short-term investments based upon the Company&#x2019;s ability and intent to use any of those marketable securities to satisfy the Company&#x2019;s liquidity requirements.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;The Company reviews the portfolio of available-for-sale debt securities quarterly to determine if any investment is impaired due to changes in credit risk or other potential valuation concerns. Unrealized losses on available-for-sale debt securities at December&#160;31, 2021 were not significant and were primarily due to changes in market interest rates. The Company does not intend to sell the available-for-sale debt securities that are in an unrealized loss position, and it is not more likely than not that the Company will be required to sell these debt securities before recovery of their amortized cost bases, which may be at maturity. Based on the credit quality of the available-for-sale debt securities in an unrealized loss position, and the Company&#x2019;s estimates of future cash flows to be collected from those securities, the Company believes the unrealized losses are not credit losses. Accordingly, the Company did not recognize any impairment losses related to its available-for-sale debt securities at December&#160;31, 2021.&lt;/span&gt;&lt;/div&gt;</us-gaap:InvestmentsInDebtAndMarketableEquitySecuritiesAndCertainTradingAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGV4dHJlZ2lvbjo2MjFjMDYxZTU4MTU0MGJjYTA1OTZhMjdmMGEwZDFjYl85MzQ1ODQ4ODM3Nzc4_6400d95c-40c5-4ee6-a5f8-44ac2e1a53f0">The following represents a summary of the estimated fair value of short-term investments at December&#160;31, 2021 and 2020 (in thousands):&lt;div style="margin-top:5pt"&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:49.192%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.603%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;At December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Amortized&lt;br/&gt;Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Gross Unrealized&lt;br/&gt;Gain&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Gross Unrealized&lt;br/&gt;Loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Estimated&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Available-for-sale securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;222,206&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(482)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;221,724&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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 5.5pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;218,391&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(24)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;218,381&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;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 5.5pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate debt securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,881&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(45)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,836&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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 5.5pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Government-sponsored enterprises&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,773&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(88)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;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 5.5pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Supranational bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,003&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,003&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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 14.5pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;553,254&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(639)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;552,630&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:49.192%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.603%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;At December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Amortized&lt;br/&gt;Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Gross Unrealized&lt;br/&gt;Gain&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Gross Unrealized&lt;br/&gt;Loss&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Estimated&lt;br/&gt;Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Available-for-sale securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143,244&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143,254&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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 5.5pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,892&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,896&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;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 5.5pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate debt securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,788&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,823&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Government-sponsored enterprises&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,330&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;21&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,350&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;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 14.5pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;390,254&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(17)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;390,323&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfCashCashEquivalentsAndShortTermInvestmentsTableTextBlock>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="if72bd725d9bf470983521333450be103_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6NDllNWRiNTA0Y2Q4NDA1MjkwNjAzODc2MzZmZmUyM2IvdGFibGVyYW5nZTo0OWU1ZGI1MDRjZDg0MDUyOTA2MDM4NzYzNmZmZTIzYl8yLTMtMS0xLTc4Mzc0_772279e6-21f2-4e10-b7a8-973396b6a6c1"
      unitRef="usd">222206000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="if72bd725d9bf470983521333450be103_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6NDllNWRiNTA0Y2Q4NDA1MjkwNjAzODc2MzZmZmUyM2IvdGFibGVyYW5nZTo0OWU1ZGI1MDRjZDg0MDUyOTA2MDM4NzYzNmZmZTIzYl8yLTUtMS0xLTc4Mzc0_84ee6ed0-02a7-4ec8-a040-3d80ec330204"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="if72bd725d9bf470983521333450be103_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6NDllNWRiNTA0Y2Q4NDA1MjkwNjAzODc2MzZmZmUyM2IvdGFibGVyYW5nZTo0OWU1ZGI1MDRjZDg0MDUyOTA2MDM4NzYzNmZmZTIzYl8yLTctMS0xLTc4Mzc0_853f2175-d623-4c87-92e9-9a5e82cde7c2"
      unitRef="usd">482000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="if72bd725d9bf470983521333450be103_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6NDllNWRiNTA0Y2Q4NDA1MjkwNjAzODc2MzZmZmUyM2IvdGFibGVyYW5nZTo0OWU1ZGI1MDRjZDg0MDUyOTA2MDM4NzYzNmZmZTIzYl8yLTktMS0xLTc4Mzc0_0a52e213-70c3-4af1-8e73-1ddb627a1f88"
      unitRef="usd">221724000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i071eaf7c462e46bd818157a77e9877b5_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6NDllNWRiNTA0Y2Q4NDA1MjkwNjAzODc2MzZmZmUyM2IvdGFibGVyYW5nZTo0OWU1ZGI1MDRjZDg0MDUyOTA2MDM4NzYzNmZmZTIzYl8yLTMtMS0xLTYxMzkz_5f33bfcc-013c-4172-a76d-7219b2695679"
      unitRef="usd">218391000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i071eaf7c462e46bd818157a77e9877b5_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6NDllNWRiNTA0Y2Q4NDA1MjkwNjAzODc2MzZmZmUyM2IvdGFibGVyYW5nZTo0OWU1ZGI1MDRjZDg0MDUyOTA2MDM4NzYzNmZmZTIzYl8yLTUtMS0xLTYxMzkz_d586749b-8dbc-4755-a44b-de1c0261cce7"
      unitRef="usd">14000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i071eaf7c462e46bd818157a77e9877b5_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6NDllNWRiNTA0Y2Q4NDA1MjkwNjAzODc2MzZmZmUyM2IvdGFibGVyYW5nZTo0OWU1ZGI1MDRjZDg0MDUyOTA2MDM4NzYzNmZmZTIzYl8yLTctMS0xLTYxMzkz_3a9920cc-5000-415c-b33f-732b3080a60f"
      unitRef="usd">24000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i071eaf7c462e46bd818157a77e9877b5_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6NDllNWRiNTA0Y2Q4NDA1MjkwNjAzODc2MzZmZmUyM2IvdGFibGVyYW5nZTo0OWU1ZGI1MDRjZDg0MDUyOTA2MDM4NzYzNmZmZTIzYl8yLTktMS0xLTYxMzkz_003b4dcf-9bad-4dcf-9ab6-c4ca2f69f387"
      unitRef="usd">218381000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="ic718a28f685c4136aac17a24bffaebf7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6NDllNWRiNTA0Y2Q4NDA1MjkwNjAzODc2MzZmZmUyM2IvdGFibGVyYW5nZTo0OWU1ZGI1MDRjZDg0MDUyOTA2MDM4NzYzNmZmZTIzYl80LTMtMS0xLTczNjA5_43c22aca-e4e0-4c73-b54b-80f6ec6a0ce1"
      unitRef="usd">58881000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="ic718a28f685c4136aac17a24bffaebf7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6NDllNWRiNTA0Y2Q4NDA1MjkwNjAzODc2MzZmZmUyM2IvdGFibGVyYW5nZTo0OWU1ZGI1MDRjZDg0MDUyOTA2MDM4NzYzNmZmZTIzYl80LTUtMS0xLTczNjA5_b07b44ad-27f5-4059-af25-ecb7c7b13b83"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="ic718a28f685c4136aac17a24bffaebf7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6NDllNWRiNTA0Y2Q4NDA1MjkwNjAzODc2MzZmZmUyM2IvdGFibGVyYW5nZTo0OWU1ZGI1MDRjZDg0MDUyOTA2MDM4NzYzNmZmZTIzYl80LTctMS0xLTczNjA5_d4240747-94ab-4db1-a6ec-9e895959b2f8"
      unitRef="usd">45000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ic718a28f685c4136aac17a24bffaebf7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6NDllNWRiNTA0Y2Q4NDA1MjkwNjAzODc2MzZmZmUyM2IvdGFibGVyYW5nZTo0OWU1ZGI1MDRjZDg0MDUyOTA2MDM4NzYzNmZmZTIzYl80LTktMS0xLTczNjA5_204956a2-8b3d-45a0-9170-c3113b3825c1"
      unitRef="usd">58836000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="ie78d9d33498647c19cb9568acb08c2c4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6NDllNWRiNTA0Y2Q4NDA1MjkwNjAzODc2MzZmZmUyM2IvdGFibGVyYW5nZTo0OWU1ZGI1MDRjZDg0MDUyOTA2MDM4NzYzNmZmZTIzYl8zLTMtMS0xLTYxMzkz_5ec27ef8-f9ea-4539-ad8f-a7e7a50ad1b7"
      unitRef="usd">50773000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="ie78d9d33498647c19cb9568acb08c2c4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6NDllNWRiNTA0Y2Q4NDA1MjkwNjAzODc2MzZmZmUyM2IvdGFibGVyYW5nZTo0OWU1ZGI1MDRjZDg0MDUyOTA2MDM4NzYzNmZmZTIzYl8zLTUtMS0xLTYxMzkz_8a8aa684-20cb-4e1d-9751-c29d127328b0"
      unitRef="usd">1000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="ie78d9d33498647c19cb9568acb08c2c4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6NDllNWRiNTA0Y2Q4NDA1MjkwNjAzODc2MzZmZmUyM2IvdGFibGVyYW5nZTo0OWU1ZGI1MDRjZDg0MDUyOTA2MDM4NzYzNmZmZTIzYl8zLTctMS0xLTYxMzkz_02568bda-fade-404d-92b3-c9268572beec"
      unitRef="usd">88000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ie78d9d33498647c19cb9568acb08c2c4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6NDllNWRiNTA0Y2Q4NDA1MjkwNjAzODc2MzZmZmUyM2IvdGFibGVyYW5nZTo0OWU1ZGI1MDRjZDg0MDUyOTA2MDM4NzYzNmZmZTIzYl8zLTktMS0xLTYxMzkz_d05425de-de85-4f9e-8afa-6193916dcae5"
      unitRef="usd">50686000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="ie3773c44b6b74265945f340cc5c3bc45_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6NDllNWRiNTA0Y2Q4NDA1MjkwNjAzODc2MzZmZmUyM2IvdGFibGVyYW5nZTo0OWU1ZGI1MDRjZDg0MDUyOTA2MDM4NzYzNmZmZTIzYl82LTMtMS0xLTY0MzM3_42479fe0-3f60-4dfb-88b8-4b9e827d3798"
      unitRef="usd">3003000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="ie3773c44b6b74265945f340cc5c3bc45_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6NDllNWRiNTA0Y2Q4NDA1MjkwNjAzODc2MzZmZmUyM2IvdGFibGVyYW5nZTo0OWU1ZGI1MDRjZDg0MDUyOTA2MDM4NzYzNmZmZTIzYl82LTUtMS0xLTY0MzM3_781d89dd-7915-47e3-a128-926bfdab6a08"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="ie3773c44b6b74265945f340cc5c3bc45_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6NDllNWRiNTA0Y2Q4NDA1MjkwNjAzODc2MzZmZmUyM2IvdGFibGVyYW5nZTo0OWU1ZGI1MDRjZDg0MDUyOTA2MDM4NzYzNmZmZTIzYl82LTctMS0xLTY0MzM3_cc7a98f0-d119-409f-93ab-5205e2f78cc4"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ie3773c44b6b74265945f340cc5c3bc45_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6NDllNWRiNTA0Y2Q4NDA1MjkwNjAzODc2MzZmZmUyM2IvdGFibGVyYW5nZTo0OWU1ZGI1MDRjZDg0MDUyOTA2MDM4NzYzNmZmZTIzYl82LTktMS0xLTY0MzM3_6a6101d9-8fd7-4136-af02-7dfb9b4c6386"
      unitRef="usd">3003000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6NDllNWRiNTA0Y2Q4NDA1MjkwNjAzODc2MzZmZmUyM2IvdGFibGVyYW5nZTo0OWU1ZGI1MDRjZDg0MDUyOTA2MDM4NzYzNmZmZTIzYl82LTMtMS0xLTYyMjI2_f59d8fa7-0a0a-45d2-a219-bbc28ddcb94a"
      unitRef="usd">553254000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6NDllNWRiNTA0Y2Q4NDA1MjkwNjAzODc2MzZmZmUyM2IvdGFibGVyYW5nZTo0OWU1ZGI1MDRjZDg0MDUyOTA2MDM4NzYzNmZmZTIzYl82LTUtMS0xLTYyMjI2_969a6bc2-1d47-4320-9bda-e58abed028a0"
      unitRef="usd">15000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6NDllNWRiNTA0Y2Q4NDA1MjkwNjAzODc2MzZmZmUyM2IvdGFibGVyYW5nZTo0OWU1ZGI1MDRjZDg0MDUyOTA2MDM4NzYzNmZmZTIzYl82LTctMS0xLTYyMjI2_992c78f1-d6f7-49fb-9e0b-dafabdfb9600"
      unitRef="usd">639000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6NDllNWRiNTA0Y2Q4NDA1MjkwNjAzODc2MzZmZmUyM2IvdGFibGVyYW5nZTo0OWU1ZGI1MDRjZDg0MDUyOTA2MDM4NzYzNmZmZTIzYl82LTktMS0xLTYyMjI2_816d3841-6893-4de1-bc25-e765cbbe9c91"
      unitRef="usd">552630000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i9684536d401940c3b1e3e9503d96bafd_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6YjQyMmU0ZWY1YzEzNDhkNGJkODI0NGExNWZjOTUzMDAvdGFibGVyYW5nZTpiNDIyZTRlZjVjMTM0OGQ0YmQ4MjQ0YTE1ZmM5NTMwMF8yLTMtMS0xLTc4Mzkz_a8f48608-6c16-4e19-8c2e-f243e435ccd6"
      unitRef="usd">143244000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i9684536d401940c3b1e3e9503d96bafd_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6YjQyMmU0ZWY1YzEzNDhkNGJkODI0NGExNWZjOTUzMDAvdGFibGVyYW5nZTpiNDIyZTRlZjVjMTM0OGQ0YmQ4MjQ0YTE1ZmM5NTMwMF8yLTUtMS0xLTc4Mzkz_e7e47c03-1891-437a-93ff-5196ab94b379"
      unitRef="usd">12000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i9684536d401940c3b1e3e9503d96bafd_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6YjQyMmU0ZWY1YzEzNDhkNGJkODI0NGExNWZjOTUzMDAvdGFibGVyYW5nZTpiNDIyZTRlZjVjMTM0OGQ0YmQ4MjQ0YTE1ZmM5NTMwMF8yLTctMS0xLTc4Mzkz_3c568b32-bb68-4ec6-ba19-0ad036faac16"
      unitRef="usd">2000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i9684536d401940c3b1e3e9503d96bafd_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6YjQyMmU0ZWY1YzEzNDhkNGJkODI0NGExNWZjOTUzMDAvdGFibGVyYW5nZTpiNDIyZTRlZjVjMTM0OGQ0YmQ4MjQ0YTE1ZmM5NTMwMF8yLTktMS0xLTc4Mzkz_f9968be8-124b-4762-9564-3cd1517dc3e5"
      unitRef="usd">143254000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i325784a7a58b42e7a3b41892cc591fdf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6YjQyMmU0ZWY1YzEzNDhkNGJkODI0NGExNWZjOTUzMDAvdGFibGVyYW5nZTpiNDIyZTRlZjVjMTM0OGQ0YmQ4MjQ0YTE1ZmM5NTMwMF8yLTMtMS0xLTYxMzkz_7bc011d5-bcf6-4596-90e3-1725d36acdcf"
      unitRef="usd">108892000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i325784a7a58b42e7a3b41892cc591fdf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6YjQyMmU0ZWY1YzEzNDhkNGJkODI0NGExNWZjOTUzMDAvdGFibGVyYW5nZTpiNDIyZTRlZjVjMTM0OGQ0YmQ4MjQ0YTE1ZmM5NTMwMF8yLTUtMS0xLTYxMzkz_2f8f7df3-a8d9-4bf7-908d-7f38482866bc"
      unitRef="usd">5000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i325784a7a58b42e7a3b41892cc591fdf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6YjQyMmU0ZWY1YzEzNDhkNGJkODI0NGExNWZjOTUzMDAvdGFibGVyYW5nZTpiNDIyZTRlZjVjMTM0OGQ0YmQ4MjQ0YTE1ZmM5NTMwMF8yLTctMS0xLTYxMzkz_75256653-33ff-46f9-adad-d2aecb7812ab"
      unitRef="usd">1000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i325784a7a58b42e7a3b41892cc591fdf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6YjQyMmU0ZWY1YzEzNDhkNGJkODI0NGExNWZjOTUzMDAvdGFibGVyYW5nZTpiNDIyZTRlZjVjMTM0OGQ0YmQ4MjQ0YTE1ZmM5NTMwMF8yLTktMS0xLTYxMzkz_96c5a743-3c9f-483e-9e4f-11b7677253e5"
      unitRef="usd">108896000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="ifda78cadf8ed4bc18b855add1e13e78e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6YjQyMmU0ZWY1YzEzNDhkNGJkODI0NGExNWZjOTUzMDAvdGFibGVyYW5nZTpiNDIyZTRlZjVjMTM0OGQ0YmQ4MjQ0YTE1ZmM5NTMwMF80LTMtMS0xLTczNjIx_99254977-d80b-402a-be12-8c93b229a701"
      unitRef="usd">85788000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="ifda78cadf8ed4bc18b855add1e13e78e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6YjQyMmU0ZWY1YzEzNDhkNGJkODI0NGExNWZjOTUzMDAvdGFibGVyYW5nZTpiNDIyZTRlZjVjMTM0OGQ0YmQ4MjQ0YTE1ZmM5NTMwMF80LTUtMS0xLTczNjIx_837d2401-2f3e-4b46-b192-a700006154de"
      unitRef="usd">48000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="ifda78cadf8ed4bc18b855add1e13e78e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6YjQyMmU0ZWY1YzEzNDhkNGJkODI0NGExNWZjOTUzMDAvdGFibGVyYW5nZTpiNDIyZTRlZjVjMTM0OGQ0YmQ4MjQ0YTE1ZmM5NTMwMF80LTctMS0xLTczNjIx_d5420988-5c06-4c82-9382-aae741f940d3"
      unitRef="usd">13000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ifda78cadf8ed4bc18b855add1e13e78e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6YjQyMmU0ZWY1YzEzNDhkNGJkODI0NGExNWZjOTUzMDAvdGFibGVyYW5nZTpiNDIyZTRlZjVjMTM0OGQ0YmQ4MjQ0YTE1ZmM5NTMwMF80LTktMS0xLTczNjIx_c1b3bc61-9b83-45ad-a656-62c02f200ff1"
      unitRef="usd">85823000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="ibc1e3e631dbb411ea73e9c0928f66376_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6YjQyMmU0ZWY1YzEzNDhkNGJkODI0NGExNWZjOTUzMDAvdGFibGVyYW5nZTpiNDIyZTRlZjVjMTM0OGQ0YmQ4MjQ0YTE1ZmM5NTMwMF8zLTMtMS0xLTYxMzkz_dbb7ad64-9458-47a8-96bd-8f0fffc0aa47"
      unitRef="usd">52330000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="ibc1e3e631dbb411ea73e9c0928f66376_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6YjQyMmU0ZWY1YzEzNDhkNGJkODI0NGExNWZjOTUzMDAvdGFibGVyYW5nZTpiNDIyZTRlZjVjMTM0OGQ0YmQ4MjQ0YTE1ZmM5NTMwMF8zLTUtMS0xLTYxMzkz_a536ef9e-9186-4dbe-973a-ebb88def51a8"
      unitRef="usd">21000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="ibc1e3e631dbb411ea73e9c0928f66376_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6YjQyMmU0ZWY1YzEzNDhkNGJkODI0NGExNWZjOTUzMDAvdGFibGVyYW5nZTpiNDIyZTRlZjVjMTM0OGQ0YmQ4MjQ0YTE1ZmM5NTMwMF8zLTctMS0xLTYxMzkz_61e34702-cce8-4cbe-b9a0-bbb99d56e1a9"
      unitRef="usd">1000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ibc1e3e631dbb411ea73e9c0928f66376_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6YjQyMmU0ZWY1YzEzNDhkNGJkODI0NGExNWZjOTUzMDAvdGFibGVyYW5nZTpiNDIyZTRlZjVjMTM0OGQ0YmQ4MjQ0YTE1ZmM5NTMwMF8zLTktMS0xLTYxMzkz_d2ac9ea1-0f11-4f4f-a17e-a4bf73ded98f"
      unitRef="usd">52350000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6YjQyMmU0ZWY1YzEzNDhkNGJkODI0NGExNWZjOTUzMDAvdGFibGVyYW5nZTpiNDIyZTRlZjVjMTM0OGQ0YmQ4MjQ0YTE1ZmM5NTMwMF82LTMtMS0xLTYyMjI4_d9e66d62-ab4f-411d-b8a5-b2a2a5e45da1"
      unitRef="usd">390254000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6YjQyMmU0ZWY1YzEzNDhkNGJkODI0NGExNWZjOTUzMDAvdGFibGVyYW5nZTpiNDIyZTRlZjVjMTM0OGQ0YmQ4MjQ0YTE1ZmM5NTMwMF82LTUtMS0xLTYyMjI4_e61f5535-a1b8-4bff-9938-d39ea4fc1c86"
      unitRef="usd">86000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6YjQyMmU0ZWY1YzEzNDhkNGJkODI0NGExNWZjOTUzMDAvdGFibGVyYW5nZTpiNDIyZTRlZjVjMTM0OGQ0YmQ4MjQ0YTE1ZmM5NTMwMF82LTctMS0xLTYyMjI4_80ab8b40-1afe-4ff2-9cf9-23a6d7728664"
      unitRef="usd">17000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6YjQyMmU0ZWY1YzEzNDhkNGJkODI0NGExNWZjOTUzMDAvdGFibGVyYW5nZTpiNDIyZTRlZjVjMTM0OGQ0YmQ4MjQ0YTE1ZmM5NTMwMF82LTktMS0xLTYyMjI4_c5d31e5f-582a-4197-b42c-feec42031b76"
      unitRef="usd">390323000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGV4dHJlZ2lvbjo2MjFjMDYxZTU4MTU0MGJjYTA1OTZhMjdmMGEwZDFjYl85MzQ1ODQ4ODM3Nzc3_47c0193c-e816-41cf-aa6b-47804538f0e6">&lt;div style="margin-top:12pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The contractual maturities of available-for-sale debt securities as of December&#160;31, 2021, were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:48.169%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.420%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.420%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.423%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Years to Maturity&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%;text-decoration:underline"&gt;At December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Within One Year&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;One to Two Years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;Estimated Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;105,231&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;116,493&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;221,724&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;218,381&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;218,381&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate debt securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,836&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,836&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Government-sponsored enterprises&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,282&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,404&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Supranational bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,003&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,003&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;417,733&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;134,897&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;552,630&#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:InvestmentsClassifiedByContractualMaturityDateTableTextBlock>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="if72bd725d9bf470983521333450be103_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6MzNiNDEyMDQ4YTMyNDk3ZGE1YWE0M2IyNWVkMTA4YzMvdGFibGVyYW5nZTozM2I0MTIwNDhhMzI0OTdkYTVhYTQzYjI1ZWQxMDhjM18zLTEtMS0xLTYyMjY1_4f35ce73-793a-4418-9582-9a320e874902"
      unitRef="usd">105231000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <tndm:DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateAfterYearOneThroughTwo
      contextRef="if72bd725d9bf470983521333450be103_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6MzNiNDEyMDQ4YTMyNDk3ZGE1YWE0M2IyNWVkMTA4YzMvdGFibGVyYW5nZTozM2I0MTIwNDhhMzI0OTdkYTVhYTQzYjI1ZWQxMDhjM18zLTMtMS0xLTYyMjY3_cb36128e-451f-4f9f-bdb9-1dea68dfad64"
      unitRef="usd">116493000</tndm:DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateAfterYearOneThroughTwo>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDate
      contextRef="if72bd725d9bf470983521333450be103_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6MzNiNDEyMDQ4YTMyNDk3ZGE1YWE0M2IyNWVkMTA4YzMvdGFibGVyYW5nZTozM2I0MTIwNDhhMzI0OTdkYTVhYTQzYjI1ZWQxMDhjM18zLTUtMS0xLTYyMjY5_cda6e64c-d7c9-4a66-bca8-ec53e28948e9"
      unitRef="usd">221724000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDate>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="i071eaf7c462e46bd818157a77e9877b5_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6MzNiNDEyMDQ4YTMyNDk3ZGE1YWE0M2IyNWVkMTA4YzMvdGFibGVyYW5nZTozM2I0MTIwNDhhMzI0OTdkYTVhYTQzYjI1ZWQxMDhjM180LTEtMS0xLTkwOTY1_39df376f-5c12-4ae1-8763-d681eb8d371f"
      unitRef="usd">218381000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <tndm:DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateAfterYearOneThroughTwo
      contextRef="i071eaf7c462e46bd818157a77e9877b5_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6MzNiNDEyMDQ4YTMyNDk3ZGE1YWE0M2IyNWVkMTA4YzMvdGFibGVyYW5nZTozM2I0MTIwNDhhMzI0OTdkYTVhYTQzYjI1ZWQxMDhjM180LTMtMS0xLTkwOTY1_a84cbc3d-b47a-448c-9486-eeb22a3d313d"
      unitRef="usd">0</tndm:DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateAfterYearOneThroughTwo>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDate
      contextRef="i071eaf7c462e46bd818157a77e9877b5_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6MzNiNDEyMDQ4YTMyNDk3ZGE1YWE0M2IyNWVkMTA4YzMvdGFibGVyYW5nZTozM2I0MTIwNDhhMzI0OTdkYTVhYTQzYjI1ZWQxMDhjM180LTUtMS0xLTkwOTY1_98c8ca75-aadd-4d89-a231-6105ff7acd2f"
      unitRef="usd">218381000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDate>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="ic718a28f685c4136aac17a24bffaebf7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6MzNiNDEyMDQ4YTMyNDk3ZGE1YWE0M2IyNWVkMTA4YzMvdGFibGVyYW5nZTozM2I0MTIwNDhhMzI0OTdkYTVhYTQzYjI1ZWQxMDhjM180LTEtMS0xLTczNjM0_d1c7fc31-a37c-4324-8b13-fe4902800001"
      unitRef="usd">58836000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <tndm:DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateAfterYearOneThroughTwo
      contextRef="ic718a28f685c4136aac17a24bffaebf7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6MzNiNDEyMDQ4YTMyNDk3ZGE1YWE0M2IyNWVkMTA4YzMvdGFibGVyYW5nZTozM2I0MTIwNDhhMzI0OTdkYTVhYTQzYjI1ZWQxMDhjM180LTMtMS0xLTczNjM0_a32ccfc0-6ddd-45f8-b161-69782cfa8689"
      unitRef="usd">0</tndm:DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateAfterYearOneThroughTwo>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDate
      contextRef="ic718a28f685c4136aac17a24bffaebf7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6MzNiNDEyMDQ4YTMyNDk3ZGE1YWE0M2IyNWVkMTA4YzMvdGFibGVyYW5nZTozM2I0MTIwNDhhMzI0OTdkYTVhYTQzYjI1ZWQxMDhjM180LTUtMS0xLTczNjM0_e5244ca9-0864-4305-84e4-ac71161472a9"
      unitRef="usd">58836000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDate>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="ie78d9d33498647c19cb9568acb08c2c4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6MzNiNDEyMDQ4YTMyNDk3ZGE1YWE0M2IyNWVkMTA4YzMvdGFibGVyYW5nZTozM2I0MTIwNDhhMzI0OTdkYTVhYTQzYjI1ZWQxMDhjM180LTEtMS0xLTYyMjY1_0f665085-7e33-4d30-a0f9-f808597594e0"
      unitRef="usd">32282000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <tndm:DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateAfterYearOneThroughTwo
      contextRef="ie78d9d33498647c19cb9568acb08c2c4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6MzNiNDEyMDQ4YTMyNDk3ZGE1YWE0M2IyNWVkMTA4YzMvdGFibGVyYW5nZTozM2I0MTIwNDhhMzI0OTdkYTVhYTQzYjI1ZWQxMDhjM180LTMtMS0xLTYyMjY3_9117cd29-696c-4b32-8587-e54ef6111dd4"
      unitRef="usd">18404000</tndm:DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateAfterYearOneThroughTwo>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDate
      contextRef="ie78d9d33498647c19cb9568acb08c2c4_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6MzNiNDEyMDQ4YTMyNDk3ZGE1YWE0M2IyNWVkMTA4YzMvdGFibGVyYW5nZTozM2I0MTIwNDhhMzI0OTdkYTVhYTQzYjI1ZWQxMDhjM180LTUtMS0xLTYyMjY5_384ea50d-88e2-4afd-9f02-01d0a005bcbe"
      unitRef="usd">50686000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDate>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="ie3773c44b6b74265945f340cc5c3bc45_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6MzNiNDEyMDQ4YTMyNDk3ZGE1YWE0M2IyNWVkMTA4YzMvdGFibGVyYW5nZTozM2I0MTIwNDhhMzI0OTdkYTVhYTQzYjI1ZWQxMDhjM182LTEtMS0xLTYyMjY1_0c3a575f-6c18-41fd-9bef-8df2e1d8031b"
      unitRef="usd">3003000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <tndm:DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateAfterYearOneThroughTwo
      contextRef="ie3773c44b6b74265945f340cc5c3bc45_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6MzNiNDEyMDQ4YTMyNDk3ZGE1YWE0M2IyNWVkMTA4YzMvdGFibGVyYW5nZTozM2I0MTIwNDhhMzI0OTdkYTVhYTQzYjI1ZWQxMDhjM182LTMtMS0xLTYyMjY3_32c4f05a-0b86-40b3-b3f0-90e5e708069b"
      unitRef="usd">0</tndm:DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateAfterYearOneThroughTwo>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDate
      contextRef="ie3773c44b6b74265945f340cc5c3bc45_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6MzNiNDEyMDQ4YTMyNDk3ZGE1YWE0M2IyNWVkMTA4YzMvdGFibGVyYW5nZTozM2I0MTIwNDhhMzI0OTdkYTVhYTQzYjI1ZWQxMDhjM182LTUtMS0xLTYyMjY5_921d0f45-18aa-43d4-afa1-3a33ee6929de"
      unitRef="usd">3003000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDate>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6MzNiNDEyMDQ4YTMyNDk3ZGE1YWE0M2IyNWVkMTA4YzMvdGFibGVyYW5nZTozM2I0MTIwNDhhMzI0OTdkYTVhYTQzYjI1ZWQxMDhjM183LTEtMS0xLTYyMjY1_55bdeaab-3bfb-45cd-a2c9-1a4b76da3609"
      unitRef="usd">417733000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <tndm:DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateAfterYearOneThroughTwo
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6MzNiNDEyMDQ4YTMyNDk3ZGE1YWE0M2IyNWVkMTA4YzMvdGFibGVyYW5nZTozM2I0MTIwNDhhMzI0OTdkYTVhYTQzYjI1ZWQxMDhjM183LTMtMS0xLTYyMjY3_d602ca45-79c4-4d7e-a91e-3c5007b64380"
      unitRef="usd">134897000</tndm:DebtSecuritiesAvailableForSaleFairValueMaturityAllocatedAndSingleMaturityDateAfterYearOneThroughTwo>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDate
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTA2L2ZyYWc6NjIxYzA2MWU1ODE1NDBiY2EwNTk2YTI3ZjBhMGQxY2IvdGFibGU6MzNiNDEyMDQ4YTMyNDk3ZGE1YWE0M2IyNWVkMTA4YzMvdGFibGVyYW5nZTozM2I0MTIwNDhhMzI0OTdkYTVhYTQzYjI1ZWQxMDhjM183LTUtMS0xLTYyMjY5_532c4b1f-c975-49b5-928a-5a3c77f1a997"
      unitRef="usd">552630000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDate>
    <srt:CondensedFinancialStatementsTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTc1L2ZyYWc6OGYwNmUxMmFhZWEyNDJjMTgwOWFjZWVlMzFlN2NlZjMvdGV4dHJlZ2lvbjo4ZjA2ZTEyYWFlYTI0MmMxODA5YWNlZWUzMWU3Y2VmM18xMDk5NTExNjI3ODAxNw_a49ecc07-bc2f-43a4-9443-d3733d605731">Composition of Certain Financial Statement Items&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Accounts Receivable&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounts receivable, net consisted of the following at (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:74.777%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.598%"/&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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;114,974&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86,052&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: allowance for credit losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,249)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,857)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;110,725&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82,195&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Allowance for Credit Losses&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table provides a reconciliation of the changes in the allowance for estimated accounts receivable credit losses for the years ended December&#160;31, 2021, 2020 and 2019 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at beginning of the year&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,857&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,304&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,837&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Provision for expected credit losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,333&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,016&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,322&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Write-offs and adjustments, net of recoveries&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,941)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,463)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(855)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at end of the year&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,249&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,857&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,304&#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:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Inventories&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories consisted of the following at (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:74.706%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.631%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Raw materials&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,911&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,880&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Work-in-process&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,612&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,664&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finished goods&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,028&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,177&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total inventories&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68,551&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,721&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Property and Equipment&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment, net consisted of the following at (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:74.706%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.631%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Leasehold improvements&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,245&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,834&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Office furniture and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,943&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,876&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Computer equipment and software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,544&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,219&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Manufacturing and scientific equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,823&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,026&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99,555&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;88,955&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: accumulated depreciation and amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(49,169)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(38,933)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total property and equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,386&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,022&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Depreciation and amortization expense related to property and equipment was $11.7 million, $9.2 million, and $5.7 million for the years ended December&#160;31, 2021, 2020, and 2019, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Intangible Assets Subject to Amortization&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intangible assets subject to amortization consist of technology-based intangibles related to the Company&#x2019;s acquisition of Sugarmate, as well as patents purchased or licensed that are related to the Company&#x2019;s commercialized products. Intangible assets at December&#160;31, 2021 and 2020, which were included in other long-term assets on the consolidated balance sheets, were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:74.706%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.631%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets, gross amount&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,502&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,502&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,866)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,697)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,636&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,805&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average remaining amortization period (in months)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;Amortization expense related to intangible assets subject to amortization amounted to $2.2 million, $1.2 million and $0.3 million for the years ended December&#160;31, 2021, 2020, and 2019, respectively. The amortization expense is recorded in cost of sales and selling, general and administrative expense in the consolidated statement of operations. The estimated aggregate amortization expense for each of the five succeeding years is $1.9 million for 2022, $1.9 million for 2023, $1.9 million for 2024, and the remaining $0.9&#160;million in 2025</srt:CondensedFinancialStatementsTextBlock>
    <us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTEyL2ZyYWc6ZTMyYmY4ZGE5MzJhNGM5MTg3ZjQ0NDE4NDcyOTIxZTcvdGV4dHJlZ2lvbjplMzJiZjhkYTkzMmE0YzkxODdmNDQ0MTg0NzI5MjFlN185MzQ1ODQ4ODM2MTg2_ab8b1645-c57c-4736-b9fd-09f5efd098c5">&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounts receivable, net consisted of the following at (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:74.777%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.598%"/&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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;114,974&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86,052&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: allowance for credit losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,249)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,857)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;110,725&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82,195&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAccountsNotesLoansAndFinancingReceivableTextBlock>
    <us-gaap:AccountsReceivableGross
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTEyL2ZyYWc6ZTMyYmY4ZGE5MzJhNGM5MTg3ZjQ0NDE4NDcyOTIxZTcvdGFibGU6YjJmMTRjMzcyNjRjNGEzMjg2NmJkMzAwMDljNGQ4NGYvdGFibGVyYW5nZTpiMmYxNGMzNzI2NGM0YTMyODY2YmQzMDAwOWM0ZDg0Zl8yLTEtMS0xLTYxMzg3_348cecc9-fce2-4dc8-996d-3846ce143023"
      unitRef="usd">114974000</us-gaap:AccountsReceivableGross>
    <us-gaap:AccountsReceivableGross
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTEyL2ZyYWc6ZTMyYmY4ZGE5MzJhNGM5MTg3ZjQ0NDE4NDcyOTIxZTcvdGFibGU6YjJmMTRjMzcyNjRjNGEzMjg2NmJkMzAwMDljNGQ4NGYvdGFibGVyYW5nZTpiMmYxNGMzNzI2NGM0YTMyODY2YmQzMDAwOWM0ZDg0Zl8yLTMtMS0xLTYxMzg3_446f1dbe-6d88-4714-b680-10ef2c069c10"
      unitRef="usd">86052000</us-gaap:AccountsReceivableGross>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTEyL2ZyYWc6ZTMyYmY4ZGE5MzJhNGM5MTg3ZjQ0NDE4NDcyOTIxZTcvdGFibGU6YjJmMTRjMzcyNjRjNGEzMjg2NmJkMzAwMDljNGQ4NGYvdGFibGVyYW5nZTpiMmYxNGMzNzI2NGM0YTMyODY2YmQzMDAwOWM0ZDg0Zl8zLTEtMS0xLTYxMzg3_e196af84-7772-43f0-b3ea-0c8e77cad3e1"
      unitRef="usd">4249000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTEyL2ZyYWc6ZTMyYmY4ZGE5MzJhNGM5MTg3ZjQ0NDE4NDcyOTIxZTcvdGFibGU6YjJmMTRjMzcyNjRjNGEzMjg2NmJkMzAwMDljNGQ4NGYvdGFibGVyYW5nZTpiMmYxNGMzNzI2NGM0YTMyODY2YmQzMDAwOWM0ZDg0Zl8zLTMtMS0xLTYxMzg3_49544153-cfb4-460a-8730-f6380fa61386"
      unitRef="usd">3857000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AccountsReceivableNet
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTEyL2ZyYWc6ZTMyYmY4ZGE5MzJhNGM5MTg3ZjQ0NDE4NDcyOTIxZTcvdGFibGU6YjJmMTRjMzcyNjRjNGEzMjg2NmJkMzAwMDljNGQ4NGYvdGFibGVyYW5nZTpiMmYxNGMzNzI2NGM0YTMyODY2YmQzMDAwOWM0ZDg0Zl80LTEtMS0xLTYyMjA4_5079614e-5022-4924-b086-e8f412752236"
      unitRef="usd">110725000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTEyL2ZyYWc6ZTMyYmY4ZGE5MzJhNGM5MTg3ZjQ0NDE4NDcyOTIxZTcvdGFibGU6YjJmMTRjMzcyNjRjNGEzMjg2NmJkMzAwMDljNGQ4NGYvdGFibGVyYW5nZTpiMmYxNGMzNzI2NGM0YTMyODY2YmQzMDAwOWM0ZDg0Zl80LTMtMS0xLTYyMjA5_061d5c9a-6fef-4851-a81d-e7fe35b73b17"
      unitRef="usd">82195000</us-gaap:AccountsReceivableNet>
    <us-gaap:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTQxL2ZyYWc6Y2RjNjgxZjI1YTViNGFiZDhmN2Q5N2Y3NjgyNGM4ZGQvdGV4dHJlZ2lvbjpjZGM2ODFmMjVhNWI0YWJkOGY3ZDk3Zjc2ODI0YzhkZF85MzQ1ODQ4ODM2MzY2_f5f726b0-a905-4367-8fa7-42e7faa4ef9c">&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table provides a reconciliation of the changes in the allowance for estimated accounts receivable credit losses for the years ended December&#160;31, 2021, 2020 and 2019 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at beginning of the year&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,857&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,304&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,837&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Provision for expected credit losses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,333&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,016&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,322&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Write-offs and adjustments, net of recoveries&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,941)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,463)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(855)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at end of the year&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,249&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,857&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,304&#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:AllowanceForCreditLossesOnFinancingReceivablesTableTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTQxL2ZyYWc6Y2RjNjgxZjI1YTViNGFiZDhmN2Q5N2Y3NjgyNGM4ZGQvdGFibGU6Y2RkOGRlMjk0MWM3NDMzZjhjNjBmOWExNDY5ZmQ4MWMvdGFibGVyYW5nZTpjZGQ4ZGUyOTQxYzc0MzNmOGM2MGY5YTE0NjlmZDgxY18yLTEtMS0xLTYxMzgz_ef330a43-9a9f-418c-a2d1-81862015ceb0"
      unitRef="usd">3857000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="ia35d79f7a8cd4f3e92d3a94270701280_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTQxL2ZyYWc6Y2RjNjgxZjI1YTViNGFiZDhmN2Q5N2Y3NjgyNGM4ZGQvdGFibGU6Y2RkOGRlMjk0MWM3NDMzZjhjNjBmOWExNDY5ZmQ4MWMvdGFibGVyYW5nZTpjZGQ4ZGUyOTQxYzc0MzNmOGM2MGY5YTE0NjlmZDgxY18yLTMtMS0xLTYxMzgz_e3555339-122a-4c7d-a0ab-531228419ff4"
      unitRef="usd">3304000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="i1be26f57e9264ee580a0723df09ac283_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTQxL2ZyYWc6Y2RjNjgxZjI1YTViNGFiZDhmN2Q5N2Y3NjgyNGM4ZGQvdGFibGU6Y2RkOGRlMjk0MWM3NDMzZjhjNjBmOWExNDY5ZmQ4MWMvdGFibGVyYW5nZTpjZGQ4ZGUyOTQxYzc0MzNmOGM2MGY5YTE0NjlmZDgxY18yLTUtMS0xLTYxMzgz_db89f5ef-bf26-4b86-88c0-194808779b02"
      unitRef="usd">1837000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTQxL2ZyYWc6Y2RjNjgxZjI1YTViNGFiZDhmN2Q5N2Y3NjgyNGM4ZGQvdGFibGU6Y2RkOGRlMjk0MWM3NDMzZjhjNjBmOWExNDY5ZmQ4MWMvdGFibGVyYW5nZTpjZGQ4ZGUyOTQxYzc0MzNmOGM2MGY5YTE0NjlmZDgxY18zLTEtMS0xLTYxMzgz_1037d694-3938-49c5-9a9c-0fd3dc93910a"
      unitRef="usd">2333000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTQxL2ZyYWc6Y2RjNjgxZjI1YTViNGFiZDhmN2Q5N2Y3NjgyNGM4ZGQvdGFibGU6Y2RkOGRlMjk0MWM3NDMzZjhjNjBmOWExNDY5ZmQ4MWMvdGFibGVyYW5nZTpjZGQ4ZGUyOTQxYzc0MzNmOGM2MGY5YTE0NjlmZDgxY18zLTMtMS0xLTYxMzgz_8857e100-d2cc-49fe-b06c-0594e1405380"
      unitRef="usd">3016000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTQxL2ZyYWc6Y2RjNjgxZjI1YTViNGFiZDhmN2Q5N2Y3NjgyNGM4ZGQvdGFibGU6Y2RkOGRlMjk0MWM3NDMzZjhjNjBmOWExNDY5ZmQ4MWMvdGFibGVyYW5nZTpjZGQ4ZGUyOTQxYzc0MzNmOGM2MGY5YTE0NjlmZDgxY18zLTUtMS0xLTYxMzgz_01ed7837-5675-4556-9448-b42834106b22"
      unitRef="usd">2322000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTQxL2ZyYWc6Y2RjNjgxZjI1YTViNGFiZDhmN2Q5N2Y3NjgyNGM4ZGQvdGFibGU6Y2RkOGRlMjk0MWM3NDMzZjhjNjBmOWExNDY5ZmQ4MWMvdGFibGVyYW5nZTpjZGQ4ZGUyOTQxYzc0MzNmOGM2MGY5YTE0NjlmZDgxY180LTEtMS0xLTYxMzgz_c903bc3d-d84f-4733-ac9e-9fd8b8651a0d"
      unitRef="usd">1941000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTQxL2ZyYWc6Y2RjNjgxZjI1YTViNGFiZDhmN2Q5N2Y3NjgyNGM4ZGQvdGFibGU6Y2RkOGRlMjk0MWM3NDMzZjhjNjBmOWExNDY5ZmQ4MWMvdGFibGVyYW5nZTpjZGQ4ZGUyOTQxYzc0MzNmOGM2MGY5YTE0NjlmZDgxY180LTMtMS0xLTYxMzgz_250347ac-164a-404f-bce9-3d4c79f01257"
      unitRef="usd">2463000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTQxL2ZyYWc6Y2RjNjgxZjI1YTViNGFiZDhmN2Q5N2Y3NjgyNGM4ZGQvdGFibGU6Y2RkOGRlMjk0MWM3NDMzZjhjNjBmOWExNDY5ZmQ4MWMvdGFibGVyYW5nZTpjZGQ4ZGUyOTQxYzc0MzNmOGM2MGY5YTE0NjlmZDgxY180LTUtMS0xLTYxMzgz_1325df68-fc46-4659-8cc8-fb70be0d0bda"
      unitRef="usd">855000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTQxL2ZyYWc6Y2RjNjgxZjI1YTViNGFiZDhmN2Q5N2Y3NjgyNGM4ZGQvdGFibGU6Y2RkOGRlMjk0MWM3NDMzZjhjNjBmOWExNDY5ZmQ4MWMvdGFibGVyYW5nZTpjZGQ4ZGUyOTQxYzc0MzNmOGM2MGY5YTE0NjlmZDgxY181LTEtMS0xLTYxMzgz_d2d2c3e9-9ea6-43ed-a6da-5fedcfab238e"
      unitRef="usd">4249000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTQxL2ZyYWc6Y2RjNjgxZjI1YTViNGFiZDhmN2Q5N2Y3NjgyNGM4ZGQvdGFibGU6Y2RkOGRlMjk0MWM3NDMzZjhjNjBmOWExNDY5ZmQ4MWMvdGFibGVyYW5nZTpjZGQ4ZGUyOTQxYzc0MzNmOGM2MGY5YTE0NjlmZDgxY181LTMtMS0xLTYxMzgz_ef330a43-9a9f-418c-a2d1-81862015ceb0"
      unitRef="usd">3857000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="ia35d79f7a8cd4f3e92d3a94270701280_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTQxL2ZyYWc6Y2RjNjgxZjI1YTViNGFiZDhmN2Q5N2Y3NjgyNGM4ZGQvdGFibGU6Y2RkOGRlMjk0MWM3NDMzZjhjNjBmOWExNDY5ZmQ4MWMvdGFibGVyYW5nZTpjZGQ4ZGUyOTQxYzc0MzNmOGM2MGY5YTE0NjlmZDgxY181LTUtMS0xLTYxMzgz_e3555339-122a-4c7d-a0ab-531228419ff4"
      unitRef="usd">3304000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTE5L2ZyYWc6YmY4MmM3ZDNhMDlmNGMxNGJhNTMxNTU4MDg2ZTQ1MTkvdGV4dHJlZ2lvbjpiZjgyYzdkM2EwOWY0YzE0YmE1MzE1NTgwODZlNDUxOV85MzQ1ODQ4ODM2MTc0_d4f396ae-1dc2-4b7f-849f-00eda7a19bb5">&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Inventories consisted of the following at (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:74.706%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.631%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Raw materials&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,911&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,880&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Work-in-process&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,612&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,664&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finished goods&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,028&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,177&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total inventories&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68,551&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,721&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterials
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTE5L2ZyYWc6YmY4MmM3ZDNhMDlmNGMxNGJhNTMxNTU4MDg2ZTQ1MTkvdGFibGU6MzkxN2JhODhmOWQ0NGNiZjk4NTdjNmRjOGZlNzA1NzAvdGFibGVyYW5nZTozOTE3YmE4OGY5ZDQ0Y2JmOTg1N2M2ZGM4ZmU3MDU3MF8yLTEtMS0xLTYxMzc4_5a4636bb-d5d6-4880-88e6-a937d4d4b2a3"
      unitRef="usd">26911000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTE5L2ZyYWc6YmY4MmM3ZDNhMDlmNGMxNGJhNTMxNTU4MDg2ZTQ1MTkvdGFibGU6MzkxN2JhODhmOWQ0NGNiZjk4NTdjNmRjOGZlNzA1NzAvdGFibGVyYW5nZTozOTE3YmE4OGY5ZDQ0Y2JmOTg1N2M2ZGM4ZmU3MDU3MF8yLTMtMS0xLTYxMzc4_5347e567-55e6-43d2-825d-464af594abc1"
      unitRef="usd">30880000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryWorkInProcess
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTE5L2ZyYWc6YmY4MmM3ZDNhMDlmNGMxNGJhNTMxNTU4MDg2ZTQ1MTkvdGFibGU6MzkxN2JhODhmOWQ0NGNiZjk4NTdjNmRjOGZlNzA1NzAvdGFibGVyYW5nZTozOTE3YmE4OGY5ZDQ0Y2JmOTg1N2M2ZGM4ZmU3MDU3MF8zLTEtMS0xLTYxMzc4_9e5876c4-ab06-4897-a9ad-8e8dde7a59f7"
      unitRef="usd">16612000</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryWorkInProcess
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTE5L2ZyYWc6YmY4MmM3ZDNhMDlmNGMxNGJhNTMxNTU4MDg2ZTQ1MTkvdGFibGU6MzkxN2JhODhmOWQ0NGNiZjk4NTdjNmRjOGZlNzA1NzAvdGFibGVyYW5nZTozOTE3YmE4OGY5ZDQ0Y2JmOTg1N2M2ZGM4ZmU3MDU3MF8zLTMtMS0xLTYxMzc4_034da2bb-7d4b-4785-8a97-c6cbda46b713"
      unitRef="usd">15664000</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryFinishedGoods
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTE5L2ZyYWc6YmY4MmM3ZDNhMDlmNGMxNGJhNTMxNTU4MDg2ZTQ1MTkvdGFibGU6MzkxN2JhODhmOWQ0NGNiZjk4NTdjNmRjOGZlNzA1NzAvdGFibGVyYW5nZTozOTE3YmE4OGY5ZDQ0Y2JmOTg1N2M2ZGM4ZmU3MDU3MF80LTEtMS0xLTYxMzc4_ddea8df9-3734-4bf5-b175-3cbcc11f1175"
      unitRef="usd">25028000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryFinishedGoods
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTE5L2ZyYWc6YmY4MmM3ZDNhMDlmNGMxNGJhNTMxNTU4MDg2ZTQ1MTkvdGFibGU6MzkxN2JhODhmOWQ0NGNiZjk4NTdjNmRjOGZlNzA1NzAvdGFibGVyYW5nZTozOTE3YmE4OGY5ZDQ0Y2JmOTg1N2M2ZGM4ZmU3MDU3MF80LTMtMS0xLTYxMzc4_5c8c3727-f81f-4153-adc8-53e0df8e7747"
      unitRef="usd">17177000</us-gaap:InventoryFinishedGoods>
    <us-gaap:InventoryNet
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTE5L2ZyYWc6YmY4MmM3ZDNhMDlmNGMxNGJhNTMxNTU4MDg2ZTQ1MTkvdGFibGU6MzkxN2JhODhmOWQ0NGNiZjk4NTdjNmRjOGZlNzA1NzAvdGFibGVyYW5nZTozOTE3YmE4OGY5ZDQ0Y2JmOTg1N2M2ZGM4ZmU3MDU3MF81LTEtMS0xLTYxMzc4_d9c82fa2-4dd5-4b28-bed4-809c6de137a0"
      unitRef="usd">68551000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTE5L2ZyYWc6YmY4MmM3ZDNhMDlmNGMxNGJhNTMxNTU4MDg2ZTQ1MTkvdGFibGU6MzkxN2JhODhmOWQ0NGNiZjk4NTdjNmRjOGZlNzA1NzAvdGFibGVyYW5nZTozOTE3YmE4OGY5ZDQ0Y2JmOTg1N2M2ZGM4ZmU3MDU3MF81LTMtMS0xLTYxMzc4_53383472-489b-4511-9808-a4752a924d02"
      unitRef="usd">63721000</us-gaap:InventoryNet>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI5L2ZyYWc6MThhM2MxNmFmNjU2NDAzNTgwMzA5YTVjMzA4NmNlODQvdGV4dHJlZ2lvbjoxOGEzYzE2YWY2NTY0MDM1ODAzMDlhNWMzMDg2Y2U4NF85MzQ1ODQ4ODM2MzQx_9788ee11-82ad-4177-af7f-5d315e68db37">&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment, net consisted of the following at (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:74.706%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.631%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Leasehold improvements&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,245&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,834&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Office furniture and equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,943&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,876&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Computer equipment and software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,544&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,219&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Manufacturing and scientific equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,823&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,026&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99,555&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;88,955&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: accumulated depreciation and amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(49,169)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(38,933)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total property and equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,386&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,022&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i6d7171a2a2184b08908a38d6b7b7be8a_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI5L2ZyYWc6MThhM2MxNmFmNjU2NDAzNTgwMzA5YTVjMzA4NmNlODQvdGFibGU6MjcyMzk3NTBiN2ZiNDlmNmE3OTgxNzJhNTJhMGI0MDcvdGFibGVyYW5nZToyNzIzOTc1MGI3ZmI0OWY2YTc5ODE3MmE1MmEwYjQwN18yLTEtMS0xLTYxMzc0_b60e91b6-9cdc-4e57-8132-547856a93a24"
      unitRef="usd">25245000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i7f8e2bd926554e1c8098d01fabf1793a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI5L2ZyYWc6MThhM2MxNmFmNjU2NDAzNTgwMzA5YTVjMzA4NmNlODQvdGFibGU6MjcyMzk3NTBiN2ZiNDlmNmE3OTgxNzJhNTJhMGI0MDcvdGFibGVyYW5nZToyNzIzOTc1MGI3ZmI0OWY2YTc5ODE3MmE1MmEwYjQwN18yLTMtMS0xLTYxMzc0_8441c528-d854-4b1f-b30e-1949904696af"
      unitRef="usd">22834000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="id2459b17946e4804a0459c899a133c34_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI5L2ZyYWc6MThhM2MxNmFmNjU2NDAzNTgwMzA5YTVjMzA4NmNlODQvdGFibGU6MjcyMzk3NTBiN2ZiNDlmNmE3OTgxNzJhNTJhMGI0MDcvdGFibGVyYW5nZToyNzIzOTc1MGI3ZmI0OWY2YTc5ODE3MmE1MmEwYjQwN18zLTEtMS0xLTc0NDcz_de89d5d9-bd91-4e01-8eab-cadf697f17c4"
      unitRef="usd">9943000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i297f46b87b4d4b0ab689d59886144d1a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI5L2ZyYWc6MThhM2MxNmFmNjU2NDAzNTgwMzA5YTVjMzA4NmNlODQvdGFibGU6MjcyMzk3NTBiN2ZiNDlmNmE3OTgxNzJhNTJhMGI0MDcvdGFibGVyYW5nZToyNzIzOTc1MGI3ZmI0OWY2YTc5ODE3MmE1MmEwYjQwN18zLTMtMS0xLTc0NDcz_0f47fde1-9868-413e-85b2-1371e2c9523e"
      unitRef="usd">9876000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i91789d26ac354ce5996d3ceb6853ad88_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI5L2ZyYWc6MThhM2MxNmFmNjU2NDAzNTgwMzA5YTVjMzA4NmNlODQvdGFibGU6MjcyMzk3NTBiN2ZiNDlmNmE3OTgxNzJhNTJhMGI0MDcvdGFibGVyYW5nZToyNzIzOTc1MGI3ZmI0OWY2YTc5ODE3MmE1MmEwYjQwN18zLTEtMS0xLTYxMzc0_40f15271-33eb-4539-bb6a-6013f23b16c7"
      unitRef="usd">11544000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i4d5405ad7926449a8e44f3df6cae1b44_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI5L2ZyYWc6MThhM2MxNmFmNjU2NDAzNTgwMzA5YTVjMzA4NmNlODQvdGFibGU6MjcyMzk3NTBiN2ZiNDlmNmE3OTgxNzJhNTJhMGI0MDcvdGFibGVyYW5nZToyNzIzOTc1MGI3ZmI0OWY2YTc5ODE3MmE1MmEwYjQwN18zLTMtMS0xLTYxMzc0_c77d7c78-e525-4802-bd23-fd27916804f8"
      unitRef="usd">12219000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i44aadb55fc53421a9daebb9b90f7627e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI5L2ZyYWc6MThhM2MxNmFmNjU2NDAzNTgwMzA5YTVjMzA4NmNlODQvdGFibGU6MjcyMzk3NTBiN2ZiNDlmNmE3OTgxNzJhNTJhMGI0MDcvdGFibGVyYW5nZToyNzIzOTc1MGI3ZmI0OWY2YTc5ODE3MmE1MmEwYjQwN181LTEtMS0xLTYxMzc0_df621539-b8cc-462f-9bec-5d4cdb5f5e08"
      unitRef="usd">52823000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i9b8c06fa7d224158aa63a2e4478d4e3f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI5L2ZyYWc6MThhM2MxNmFmNjU2NDAzNTgwMzA5YTVjMzA4NmNlODQvdGFibGU6MjcyMzk3NTBiN2ZiNDlmNmE3OTgxNzJhNTJhMGI0MDcvdGFibGVyYW5nZToyNzIzOTc1MGI3ZmI0OWY2YTc5ODE3MmE1MmEwYjQwN181LTMtMS0xLTYxMzc0_ca498ff1-789d-4675-b667-09f84ded314f"
      unitRef="usd">44026000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI5L2ZyYWc6MThhM2MxNmFmNjU2NDAzNTgwMzA5YTVjMzA4NmNlODQvdGFibGU6MjcyMzk3NTBiN2ZiNDlmNmE3OTgxNzJhNTJhMGI0MDcvdGFibGVyYW5nZToyNzIzOTc1MGI3ZmI0OWY2YTc5ODE3MmE1MmEwYjQwN182LTEtMS0xLTYxMzc0_44be6f07-82d0-496b-bb0b-cdb249b98959"
      unitRef="usd">99555000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI5L2ZyYWc6MThhM2MxNmFmNjU2NDAzNTgwMzA5YTVjMzA4NmNlODQvdGFibGU6MjcyMzk3NTBiN2ZiNDlmNmE3OTgxNzJhNTJhMGI0MDcvdGFibGVyYW5nZToyNzIzOTc1MGI3ZmI0OWY2YTc5ODE3MmE1MmEwYjQwN182LTMtMS0xLTYxMzc0_d52a717c-44a6-41ef-852f-c9a465edc657"
      unitRef="usd">88955000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI5L2ZyYWc6MThhM2MxNmFmNjU2NDAzNTgwMzA5YTVjMzA4NmNlODQvdGFibGU6MjcyMzk3NTBiN2ZiNDlmNmE3OTgxNzJhNTJhMGI0MDcvdGFibGVyYW5nZToyNzIzOTc1MGI3ZmI0OWY2YTc5ODE3MmE1MmEwYjQwN183LTEtMS0xLTYxMzc0_dd9a80ea-b2e5-482d-9d88-6b2bf6c9d950"
      unitRef="usd">49169000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI5L2ZyYWc6MThhM2MxNmFmNjU2NDAzNTgwMzA5YTVjMzA4NmNlODQvdGFibGU6MjcyMzk3NTBiN2ZiNDlmNmE3OTgxNzJhNTJhMGI0MDcvdGFibGVyYW5nZToyNzIzOTc1MGI3ZmI0OWY2YTc5ODE3MmE1MmEwYjQwN183LTMtMS0xLTYxMzc0_2fafc2b1-fbad-484b-9f95-aaa524543c3e"
      unitRef="usd">38933000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI5L2ZyYWc6MThhM2MxNmFmNjU2NDAzNTgwMzA5YTVjMzA4NmNlODQvdGFibGU6MjcyMzk3NTBiN2ZiNDlmNmE3OTgxNzJhNTJhMGI0MDcvdGFibGVyYW5nZToyNzIzOTc1MGI3ZmI0OWY2YTc5ODE3MmE1MmEwYjQwN184LTEtMS0xLTYxMzc0_9e5e6353-a3c3-4f1a-8236-1ecbb4dd2ae1"
      unitRef="usd">50386000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI5L2ZyYWc6MThhM2MxNmFmNjU2NDAzNTgwMzA5YTVjMzA4NmNlODQvdGFibGU6MjcyMzk3NTBiN2ZiNDlmNmE3OTgxNzJhNTJhMGI0MDcvdGFibGVyYW5nZToyNzIzOTc1MGI3ZmI0OWY2YTc5ODE3MmE1MmEwYjQwN184LTMtMS0xLTYxMzc0_3f3e8125-ef62-4312-9512-ceb77d0ed945"
      unitRef="usd">50022000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:DepreciationAndAmortization
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI5L2ZyYWc6MThhM2MxNmFmNjU2NDAzNTgwMzA5YTVjMzA4NmNlODQvdGV4dHJlZ2lvbjoxOGEzYzE2YWY2NTY0MDM1ODAzMDlhNWMzMDg2Y2U4NF8xMDk5NTExNjI3OTUx_c7aac70c-d007-463f-abbe-712185f8a2b9"
      unitRef="usd">11700000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI5L2ZyYWc6MThhM2MxNmFmNjU2NDAzNTgwMzA5YTVjMzA4NmNlODQvdGV4dHJlZ2lvbjoxOGEzYzE2YWY2NTY0MDM1ODAzMDlhNWMzMDg2Y2U4NF8xMDk5NTExNjI3OTU2_510e1582-3270-42c0-ba6d-47ad2baae9a4"
      unitRef="usd">9200000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI5L2ZyYWc6MThhM2MxNmFmNjU2NDAzNTgwMzA5YTVjMzA4NmNlODQvdGV4dHJlZ2lvbjoxOGEzYzE2YWY2NTY0MDM1ODAzMDlhNWMzMDg2Y2U4NF8xMDk5NTExNjI3OTY1_b98b1d90-5ab1-4909-a3ed-f96a1e12140d"
      unitRef="usd">5700000</us-gaap:DepreciationAndAmortization>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI0L2ZyYWc6YzNkOWJiOTdiOGE5NDYzYjg1NmEwMTQ2NjM5Y2YyOTYvdGV4dHJlZ2lvbjpjM2Q5YmI5N2I4YTk0NjNiODU2YTAxNDY2MzljZjI5Nl85MzQ1ODQ4ODM3MDE1_e2cd35a2-0546-4211-8a33-940a68898189">&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intangible assets subject to amortization consist of technology-based intangibles related to the Company&#x2019;s acquisition of Sugarmate, as well as patents purchased or licensed that are related to the Company&#x2019;s commercialized products. Intangible assets at December&#160;31, 2021 and 2020, which were included in other long-term assets on the consolidated balance sheets, were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:74.706%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.631%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets, gross amount&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,502&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,502&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accumulated amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,866)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,697)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,636&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,805&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average remaining amortization period (in months)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ie180c5adc0ba466984cfd55a2c17155e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI0L2ZyYWc6YzNkOWJiOTdiOGE5NDYzYjg1NmEwMTQ2NjM5Y2YyOTYvdGFibGU6MmU4ODZhNjI0ZTVkNDc3OWE4NzEzYzUyYzNkZTRlNDcvdGFibGVyYW5nZToyZTg4NmE2MjRlNWQ0Nzc5YTg3MTNjNTJjM2RlNGU0N18yLTEtMS0xLTYxMzY1_fd0ee9cc-036c-4ba4-8198-842f1c2c605a"
      unitRef="usd">12502000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ifefdb5ef5fed4c7290c8f9a7eaa19fe4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI0L2ZyYWc6YzNkOWJiOTdiOGE5NDYzYjg1NmEwMTQ2NjM5Y2YyOTYvdGFibGU6MmU4ODZhNjI0ZTVkNDc3OWE4NzEzYzUyYzNkZTRlNDcvdGFibGVyYW5nZToyZTg4NmE2MjRlNWQ0Nzc5YTg3MTNjNTJjM2RlNGU0N18yLTMtMS0xLTYxMzY1_e0db2bdd-5122-4660-9de5-235ba84c1ab8"
      unitRef="usd">12502000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ie180c5adc0ba466984cfd55a2c17155e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI0L2ZyYWc6YzNkOWJiOTdiOGE5NDYzYjg1NmEwMTQ2NjM5Y2YyOTYvdGFibGU6MmU4ODZhNjI0ZTVkNDc3OWE4NzEzYzUyYzNkZTRlNDcvdGFibGVyYW5nZToyZTg4NmE2MjRlNWQ0Nzc5YTg3MTNjNTJjM2RlNGU0N18zLTEtMS0xLTYxMzY1_3c39d57f-e706-45e8-b62d-9553256ed724"
      unitRef="usd">5866000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ifefdb5ef5fed4c7290c8f9a7eaa19fe4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI0L2ZyYWc6YzNkOWJiOTdiOGE5NDYzYjg1NmEwMTQ2NjM5Y2YyOTYvdGFibGU6MmU4ODZhNjI0ZTVkNDc3OWE4NzEzYzUyYzNkZTRlNDcvdGFibGVyYW5nZToyZTg4NmE2MjRlNWQ0Nzc5YTg3MTNjNTJjM2RlNGU0N18zLTMtMS0xLTYxMzY1_ab2a58eb-82b0-4565-a876-c28ed89810dd"
      unitRef="usd">3697000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ie180c5adc0ba466984cfd55a2c17155e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI0L2ZyYWc6YzNkOWJiOTdiOGE5NDYzYjg1NmEwMTQ2NjM5Y2YyOTYvdGFibGU6MmU4ODZhNjI0ZTVkNDc3OWE4NzEzYzUyYzNkZTRlNDcvdGFibGVyYW5nZToyZTg4NmE2MjRlNWQ0Nzc5YTg3MTNjNTJjM2RlNGU0N180LTEtMS0xLTYyMTY2_7b84aa8f-9423-4c9f-9b3a-a86f3d129069"
      unitRef="usd">6636000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ifefdb5ef5fed4c7290c8f9a7eaa19fe4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI0L2ZyYWc6YzNkOWJiOTdiOGE5NDYzYjg1NmEwMTQ2NjM5Y2YyOTYvdGFibGU6MmU4ODZhNjI0ZTVkNDc3OWE4NzEzYzUyYzNkZTRlNDcvdGFibGVyYW5nZToyZTg4NmE2MjRlNWQ0Nzc5YTg3MTNjNTJjM2RlNGU0N180LTMtMS0xLTYyMTY2_0a9cc0dd-738b-41b7-8d20-78174742bdba"
      unitRef="usd">8805000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI0L2ZyYWc6YzNkOWJiOTdiOGE5NDYzYjg1NmEwMTQ2NjM5Y2YyOTYvdGFibGU6MmU4ODZhNjI0ZTVkNDc3OWE4NzEzYzUyYzNkZTRlNDcvdGFibGVyYW5nZToyZTg4NmE2MjRlNWQ0Nzc5YTg3MTNjNTJjM2RlNGU0N181LTEtMS0xLTYxMzY1_8afd0561-1393-4b26-b1af-ac3abfc10f6f">P41M</us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1>
    <us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI0L2ZyYWc6YzNkOWJiOTdiOGE5NDYzYjg1NmEwMTQ2NjM5Y2YyOTYvdGFibGU6MmU4ODZhNjI0ZTVkNDc3OWE4NzEzYzUyYzNkZTRlNDcvdGFibGVyYW5nZToyZTg4NmE2MjRlNWQ0Nzc5YTg3MTNjNTJjM2RlNGU0N181LTMtMS0xLTYxMzY1_a2937c24-ad5e-48a9-a67c-04ad480c1df6">P52M</us-gaap:FiniteLivedIntangibleAssetsRemainingAmortizationPeriod1>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI0L2ZyYWc6YzNkOWJiOTdiOGE5NDYzYjg1NmEwMTQ2NjM5Y2YyOTYvdGV4dHJlZ2lvbjpjM2Q5YmI5N2I4YTk0NjNiODU2YTAxNDY2MzljZjI5Nl8xMDk5NTExNjI4Mjky_f23ad187-7d89-475b-a46e-14bd6f6a6470"
      unitRef="usd">2200000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI0L2ZyYWc6YzNkOWJiOTdiOGE5NDYzYjg1NmEwMTQ2NjM5Y2YyOTYvdGV4dHJlZ2lvbjpjM2Q5YmI5N2I4YTk0NjNiODU2YTAxNDY2MzljZjI5Nl8xMDk5NTExNjI4MzA1_b323fbe9-9af7-4749-b378-2985abc7f563"
      unitRef="usd">1200000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI0L2ZyYWc6YzNkOWJiOTdiOGE5NDYzYjg1NmEwMTQ2NjM5Y2YyOTYvdGV4dHJlZ2lvbjpjM2Q5YmI5N2I4YTk0NjNiODU2YTAxNDY2MzljZjI5Nl8xMDk5NTExNjI4MzIx_0422ee57-d066-4d65-a2bc-a3c889dd8a5d"
      unitRef="usd">300000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI0L2ZyYWc6YzNkOWJiOTdiOGE5NDYzYjg1NmEwMTQ2NjM5Y2YyOTYvdGV4dHJlZ2lvbjpjM2Q5YmI5N2I4YTk0NjNiODU2YTAxNDY2MzljZjI5Nl8xMDk5NTExNjI4NjE5_d6d86c2a-78e8-4148-8d97-cdfed5277cea"
      unitRef="usd">1900000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI0L2ZyYWc6YzNkOWJiOTdiOGE5NDYzYjg1NmEwMTQ2NjM5Y2YyOTYvdGV4dHJlZ2lvbjpjM2Q5YmI5N2I4YTk0NjNiODU2YTAxNDY2MzljZjI5Nl8xMDk5NTExNjI4NjMz_4b4971f8-5fed-4691-936f-3d60575478c0"
      unitRef="usd">1900000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI0L2ZyYWc6YzNkOWJiOTdiOGE5NDYzYjg1NmEwMTQ2NjM5Y2YyOTYvdGV4dHJlZ2lvbjpjM2Q5YmI5N2I4YTk0NjNiODU2YTAxNDY2MzljZjI5Nl8xMDk5NTExNjI4NjQ3_d42c3c40-aeb8-4b32-b88e-0df0b1c76a87"
      unitRef="usd">1900000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTI0L2ZyYWc6YzNkOWJiOTdiOGE5NDYzYjg1NmEwMTQ2NjM5Y2YyOTYvdGV4dHJlZ2lvbjpjM2Q5YmI5N2I4YTk0NjNiODU2YTAxNDY2MzljZjI5Nl8xMDk5NTExNjI4Njgy_219dd1c4-1f70-43a5-87fe-b546284facb6"
      unitRef="usd">900000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90ZXh0cmVnaW9uOjNkMzU2YWY4MDc3MzQ0MWRhYTdhMDRlYTZhNmJkNmY4XzM3OTY_008662f1-df9c-42ec-92bd-75acabf8632a">Fair Value MeasurementsAuthoritative guidance on fair value measurements defines fair value, and provides a consistent framework for measuring fair value and for disclosures of each major asset and liability category measured at fair value on either a recurring or a nonrecurring basis. Fair value is intended to reflect an assumed exit price, representing the amount that would be received to sell an asset or paid to transfer a liability in an orderly transaction between market participants. As such, fair value is a market-based measurement that should be determined based on assumptions that market participants would use in pricing an asset or liability. As a basis for considering such assumptions, the authoritative guidance establishes a three-tier fair value hierarchy, which prioritizes the inputs used in measuring fair value as follows:&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.671%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:90.396%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level&#160;1:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Observable inputs such as unadjusted quoted prices in active markets that are accessible at the measurement date for identical, unrestricted assets or liabilities.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level&#160;2:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Inputs, other than quoted prices in active markets, that are observable either directly or indirectly for substantially the full term of the asset or liability.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:3pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Level&#160;3:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unobservable inputs in which there is little or no market data and that are significant to the fair value of the assets or liabilities, which require the reporting entity to develop its own valuation techniques that require input assumptions.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents information about the Company&#x2019;s financial assets and liabilities measured at fair value on a recurring basis as of&#160;December&#160;31, 2021 and 2020, and indicates the fair value hierarchy of the valuation techniques utilized by the Company to determine such fair value (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:49.779%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.632%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Fair Value Measurements at&lt;br/&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash equivalents&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,286&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,286&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;221,724&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;221,724&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;218,381&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;218,381&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Government-sponsored enterprises&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate debt securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,836&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,836&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Supranational bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,003&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,003&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets&lt;/span&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;600,916&#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 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;270,010&#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 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;330,906&#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 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Common stock warrants&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&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:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:49.779%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.632%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Fair Value Measurements at&lt;br/&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash equivalents&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline"&gt; (1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;87,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;87,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143,254&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143,254&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Government-sponsored enterprises&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,350&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,350&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate debt securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,823&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,823&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;477,623&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;230,554&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;247,069&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Common stock warrants&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,261&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,261&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,261&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,261&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt"&gt;Generally, cash equivalents include money market funds and investments with a maturity of three months or less from the date of purchase.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s Level 2 financial instruments are valued using market prices on less active markets with observable valuation inputs such as interest rates and yield curves. The Company obtains the fair value of Level 2 financial instruments from quoted market prices, calculated prices or quotes from third-party pricing services. The Company validates these prices through independent valuation testing and review of portfolio valuations provided by the Company&#x2019;s investment managers.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's Level 3 liabilities at December&#160;31, 2021 and 2020&#160;included the remaining Series A warrants issued by the Company in connection with the public offering of common stock in October 2017. The Series A warrants, which expire in October 2022, provide holders the right to purchase shares of the Company&#x2019;s common stock at an exercise price of $3.50&#160;per share. As of December&#160;31, 2021 and 2020, there were Series A warrants outstanding to purchase 1,000 shares and 154,700 shares, respectively, of the Company&#x2019;s common stock (see Note 8, &#x201c;Stockholders&#x2019; Equity&#x201d;).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;The Company reassesses the fair value of the outstanding Series A warrants at each reporting date utilizing a Black-Scholes pricing model. Variables used in the pricing model include the closing market price of the Company&#x2019;s common stock at the balance sheet date, as well as estimated stock price volatility, dividend yield, remaining warrant term and risk-free interest rate. A significant increase (decrease) in any of these inputs in isolation, particularly the market price of the Company&#x2019;s common stock, would have resulted in a significantly higher (lower) fair value measurement. The assumptions used to estimate the fair values of the outstanding Series A warrants at December&#160;31, 2021 and 2020 are presented below:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.730%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.621%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Series A Warrants&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected dividend yield&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.0%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.0%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.8&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.8&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents a summary of changes in the fair value of the Company&#x2019;s Level 3 financial liabilities for the years ended December&#160;31, 2021 and 2020:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.730%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.621%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at beginning of year&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,261&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,509&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Loss recognized from the change in fair value of common stock warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,386&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Common stock warrants exercised during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(15,500)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(26,335)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at end of year&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,261&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Of the loss recognized from the change in fair value of common stock warrants for the years ended December&#160;31, 2021 and 2020, $0.1&#160;million and $5.5&#160;million, respectively, was attributable to warrants outstanding as of December&#160;31, 2021 and 2020.&lt;/span&gt;&lt;/div&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90ZXh0cmVnaW9uOjNkMzU2YWY4MDc3MzQ0MWRhYTdhMDRlYTZhNmJkNmY4XzM3OTc_15ef3a89-e77f-4cc6-a66b-ece2c27cb417">&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents information about the Company&#x2019;s financial assets and liabilities measured at fair value on a recurring basis as of&#160;December&#160;31, 2021 and 2020, and indicates the fair value hierarchy of the valuation techniques utilized by the Company to determine such fair value (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:49.779%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.632%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Fair Value Measurements at&lt;br/&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash equivalents&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,286&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,286&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;221,724&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;221,724&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;218,381&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;218,381&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Government-sponsored enterprises&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,686&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate debt securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,836&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,836&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Supranational bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,003&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,003&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets&lt;/span&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;600,916&#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 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;270,010&#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 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;330,906&#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 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Common stock warrants&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&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:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:49.779%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.632%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Fair Value Measurements at&lt;br/&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Level 3&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash equivalents&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline"&gt; (1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;87,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;87,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143,254&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;143,254&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;108,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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Government-sponsored enterprises&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,350&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52,350&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate debt securities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,823&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,823&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;477,623&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;230,554&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;247,069&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Common stock warrants&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,261&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,261&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,261&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,261&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt"&gt;Generally, cash equivalents include money market funds and investments with a maturity of three months or less from the date of purchase.&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ifc6d39da25e544c2974fee2ae97d7ce0_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzMtMS0xLTEtNTM4MzA_caae803b-e4e3-419d-a143-c24237520f83"
      unitRef="usd">48286000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i8ad3a25f51bf41279f84f0c7520846b3_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzMtMy0xLTEtNTM4MzA_a37937dc-eb09-4264-8b3f-48e61de42810"
      unitRef="usd">48286000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i5319d1daea544de3a8d614bc5eb0399c_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzMtNS0xLTEtNTM4MzA_1e8e8fb7-c5c0-4fa7-83ca-27b5c1159f76"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i7fa5a61460da485db1a14b94aae25a65_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzMtNy0xLTEtNTM4MzA_9cc0ce98-0535-4bf3-933c-70d075772a10"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i8700b98bac3a4580a138e9eb13430f39_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzUtMS0xLTEtNjI0NzM_58a5fad4-3888-4451-8c34-c9037f8be75b"
      unitRef="usd">221724000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="id1da3bce544748acb133c949ce363b25_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzUtMy0xLTEtNjI0NzM_b6c2ea6e-d1a4-48da-baef-77ed9c852768"
      unitRef="usd">221724000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i4584d1f2bb8c4cc794c4e0edc815fb0b_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzUtNS0xLTEtNjI0NzM_01291188-9f8f-4732-8bec-9407815a71bb"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i5e8b713a4fcc4a228d339fa4feb11d75_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzUtNy0xLTEtNjI0NzM_251fc938-c6b8-44a6-94db-d2ba101649de"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ic1f41dc683a24729b3da90e6b6620334_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzYtMS0xLTEtNzg3NTg_ab06ea96-79cb-4bd6-a8f9-53c40e7d6131"
      unitRef="usd">218381000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i1fcbf5a8165d476b90d5ffd50f2c53fe_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzYtMy0xLTEtNzg3NTg_2c879b96-263d-42e1-baac-0c5bee52142d"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i37b8e684f42545439cf28d1ada3f67dd_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzYtNS0xLTEtNzg3NTg_a9f84e6d-173c-40bb-b573-d34735a5b161"
      unitRef="usd">218381000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i0877adaf03cb4977a9f09880a7fbf922_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzYtNy0xLTEtNzg3NTg_f579068d-4f9f-455e-9ce1-e7a479c5bc29"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ide8c3c35183540d49a16e3818c6b83db_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzUtMS0xLTEtNTM4MzA_365b548c-ade4-4ee8-a4fa-c23c79730b87"
      unitRef="usd">50686000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ia8f106822dac4c8ab4fa8f4588fc2130_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzUtMy0xLTEtNTM4MzA_1885fe87-935d-4860-bab2-62319a202975"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i059b35dc924e45c28efd0217db513491_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzUtNS0xLTEtNTM4MzA_7cff45ce-1669-4b02-8593-6a4b8bd61f98"
      unitRef="usd">50686000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="if13a3879a0a04ef594924e9a69fc0081_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzUtNy0xLTEtNTM4MzA_fb38cace-4c9c-499f-91bc-104eefb872f5"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i294958ebf4e347a887bcec885fe2324b_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzctMS0xLTEtNTM4MzA_e3d1bad6-7cd5-4851-afe6-66a2a69ffa41"
      unitRef="usd">58836000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i3333f7cb53824e2493f285006c5e86db_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzctMy0xLTEtNTM4MzA_11e637af-7564-46a8-b54c-4a3c974b5609"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i2eff6547cab74994b434eea8f5f03ae1_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzctNS0xLTEtNTM4MzA_af22ef50-3a20-472a-92df-98d82d0720c6"
      unitRef="usd">58836000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ia087f4b54fe04092b5bc6702a9dd7773_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzctNy0xLTEtNTM4MzA_89057c14-8c76-4289-b108-d88c8c3e83ee"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i3c0ef67f1eee4afca767e96f0aa30b0f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzgtMS0xLTEtNjY2Nzc_77fe3b68-827e-4512-b088-27a0ec0040f9"
      unitRef="usd">3003000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ief0a7af562e442b2a349aa8d27cfb1b5_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzgtMy0xLTEtNjY2Nzc_38c7aa08-f51e-4822-a1b0-0d98c9d8ea6e"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i806fa75991224e698802df9ae7a8bd9f_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzgtNS0xLTEtNjY2Nzc_26d920f8-e51e-4de5-8d60-fcb57c79ee35"
      unitRef="usd">3003000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ibb7ce8e81e7a44aaa5bfc4dda9f9f730_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzgtNy0xLTEtNjY2Nzc_fac79b5e-c16e-4f75-bdd8-008ad0a18ced"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i1306dfc8cce24a98b8d8e4845786346a_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzgtMS0xLTEtNTM4MzA_ecd1d372-fe25-4e8b-8090-3508dd214a09"
      unitRef="usd">600916000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i006d213e7d3e4b16aa5b4df052bd5bb7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzgtMy0xLTEtNTM4MzA_f5f857b9-ad08-4cf8-a5b3-b83b51f4d345"
      unitRef="usd">270010000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ic1f3d6229e6e41a380dfcfbfd430c87e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzgtNS0xLTEtNTM4MzA_c32b8253-8d0a-4261-b321-d5adf7be5204"
      unitRef="usd">330906000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ia23a053b024f4ca5931a9c1ba72b81d6_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzgtNy0xLTEtNTM4MzA_d23fe1d3-0369-4491-9120-e6f57fd174ae"
      unitRef="usd">0</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:WarrantsAndRightsOutstanding
      contextRef="i1306dfc8cce24a98b8d8e4845786346a_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzEwLTEtMS0xLTUzODMw_a02352d2-a9a9-443c-a7ae-e7b31538de17"
      unitRef="usd">147000</us-gaap:WarrantsAndRightsOutstanding>
    <us-gaap:WarrantsAndRightsOutstanding
      contextRef="i006d213e7d3e4b16aa5b4df052bd5bb7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzEwLTMtMS0xLTUzODMw_0acbcabc-2ae7-4f58-af87-4fbf0d61d6c8"
      unitRef="usd">0</us-gaap:WarrantsAndRightsOutstanding>
    <us-gaap:WarrantsAndRightsOutstanding
      contextRef="ic1f3d6229e6e41a380dfcfbfd430c87e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzEwLTUtMS0xLTUzODMw_9be8f987-097b-45e5-92c3-a28e7cf6ba0f"
      unitRef="usd">0</us-gaap:WarrantsAndRightsOutstanding>
    <us-gaap:WarrantsAndRightsOutstanding
      contextRef="ia23a053b024f4ca5931a9c1ba72b81d6_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzEwLTctMS0xLTUzODMw_0aed0ca5-5aad-401a-beb3-d6dfb92e319a"
      unitRef="usd">147000</us-gaap:WarrantsAndRightsOutstanding>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="i1306dfc8cce24a98b8d8e4845786346a_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzExLTEtMS0xLTUzODMw_daf77181-fc69-48fb-93d2-7483b370b2aa"
      unitRef="usd">147000</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="i006d213e7d3e4b16aa5b4df052bd5bb7_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzExLTMtMS0xLTUzODMw_a8cf36a7-b98b-4e3f-bdfd-c2ea574fa49b"
      unitRef="usd">0</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="ic1f3d6229e6e41a380dfcfbfd430c87e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzExLTUtMS0xLTUzODMw_e58483bc-32e7-4175-bafb-4fe9cbcd1a1c"
      unitRef="usd">0</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="ia23a053b024f4ca5931a9c1ba72b81d6_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo3MGZmYmM0YTQwOWI0ODk3OTM3ZmNkN2NmYzBhNjJkZS90YWJsZXJhbmdlOjcwZmZiYzRhNDA5YjQ4OTc5MzdmY2Q3Y2ZjMGE2MmRlXzExLTctMS0xLTUzODMw_61ac7ed2-5bb9-4d7d-ad50-37f423a321aa"
      unitRef="usd">147000</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i63dbfca7c30a4caca67eed7a90191324_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzMtMS0xLTEtNTM4MzA_08f0fbf6-b00f-4b54-9254-debd5d14d680"
      unitRef="usd">87300000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i0a5b59b74aff43f786584243969a5110_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzMtMy0xLTEtNTM4MzA_3c8a96c6-5d55-4ce3-82e1-687eaf18b63d"
      unitRef="usd">87300000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="iddc1fe0c9834478ab590577959a70287_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzMtNS0xLTEtNTM4MzA_064af3ab-1f79-4969-9786-1fd4f25dedd1"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i9d0575a5aa1b4025ae9e9ef4aa1e116d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzMtNy0xLTEtNTM4MzA_00f371c4-b7ef-42f2-a38a-4d4a0b5b92eb"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i2b1f29b445cd431b86372d24db572a21_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzUtMS0xLTEtNjY2NjI_01adad35-4d65-4201-8675-abbc6d7654cc"
      unitRef="usd">143254000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ic7556cba894341069ab9cc28100d5bdc_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzUtMy0xLTEtNjY2NjI_4f6e9754-660a-40bc-ba0f-034dbd2a6b42"
      unitRef="usd">143254000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i0bafa7b02c944c9ba4213f32a625b60d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzUtNS0xLTEtNjY2NjI_af8b5c54-63f2-40cf-9eff-8885b21501b8"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i4ea2f582555a473aada73aa76a69282d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzUtNy0xLTEtNjY2NjI_04d827ea-edae-4dd0-a0f7-d4407eb4b8df"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i18b8d05ac4b840b89aac207b80e28cdc_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzYtMS0xLTEtNzg3NzQ_915cc721-1fa6-49cc-81fd-4788324dd335"
      unitRef="usd">108896000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i6e57507ef1cf4729a72d8be6688fbbd8_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzYtMy0xLTEtNzg3NzQ_5d591311-8411-4ded-b9f4-61953b5f76bc"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i02fe4df9d4174f94b6de61adb1ecbaff_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzYtNS0xLTEtNzg3NzQ_ddcafc2e-1937-4652-b67b-f9b287fc87a7"
      unitRef="usd">108896000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ib1b77c9e24c94035a0ddb830017809db_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzYtNy0xLTEtNzg3NzQ_d42a5c8a-bcd3-48ad-9e81-7139c4413883"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ic491c1017f474f2cb44cd9123b6173e4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzUtMS0xLTEtNjI0NjU_3aabb5d4-ef59-43ad-aa7a-23b27e252960"
      unitRef="usd">52350000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i4a503d6b64ba44a3b12a498660751636_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzUtMy0xLTEtNjI0NjU_9f875705-3696-457e-8faf-114c5bf6aa83"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ia62d5313e49641f986b444755b56fa51_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzUtNS0xLTEtNjI0NjU_736865db-d66a-4086-b394-4123c13d150b"
      unitRef="usd">52350000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i68106d90729346719ba08b9384bf17e8_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzUtNy0xLTEtNjI0NjU_ea670c18-30f1-4456-9073-08073ac89ffa"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ie715c92cc4614f1b8870acd380c316be_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzctMS0xLTEtNTM4MzA_d568f3b2-0988-432b-aae0-5c1874349c74"
      unitRef="usd">85823000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i83d5addf8b0341ff96a46ddca99980b1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzctMy0xLTEtNTM4MzA_01f04c01-9906-44a9-8769-56231ab1700c"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="icad266c1616642a3ad2233488d00fd78_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzctNS0xLTEtNTM4MzA_321bf200-454b-4a14-aeba-f367363d2440"
      unitRef="usd">85823000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i829f19874a2f4262aa7637bcd336062f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzctNy0xLTEtNTM4MzA_47fb3b1f-f195-4b07-ba0e-06783ec4789f"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i76147e6a319e44b9b617ed77d293e62d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzgtMS0xLTEtNTM4MzA_d2dfa4c8-44f8-4963-9dc1-63fcb2d55a02"
      unitRef="usd">477623000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="icb094e3cc5394c2f8396d3f9354a61e8_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzgtMy0xLTEtNTM4MzA_8e518dc7-7bb2-40bd-9a85-ef68bfa5cf3f"
      unitRef="usd">230554000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="i3fdaa62facd44ebebbfcf3ca34c2696c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzgtNS0xLTEtNTM4MzA_a177653f-3268-4dd0-bd46-5cecc99c4e16"
      unitRef="usd">247069000</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:AssetsFairValueDisclosure
      contextRef="ib6ae83e55cde472c9dc69cb92619bd18_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzgtNy0xLTEtNTM4MzA_4eedcf0c-1dd9-438e-b682-f80c6e882e81"
      unitRef="usd">0</us-gaap:AssetsFairValueDisclosure>
    <us-gaap:WarrantsAndRightsOutstanding
      contextRef="i76147e6a319e44b9b617ed77d293e62d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzEwLTEtMS0xLTUzODMw_a25e9a1d-140b-4a9d-a782-6ff709b9af3a"
      unitRef="usd">14261000</us-gaap:WarrantsAndRightsOutstanding>
    <us-gaap:WarrantsAndRightsOutstanding
      contextRef="icb094e3cc5394c2f8396d3f9354a61e8_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzEwLTMtMS0xLTUzODMw_ff813075-5b9a-4660-a3d5-970586e9c96b"
      unitRef="usd">0</us-gaap:WarrantsAndRightsOutstanding>
    <us-gaap:WarrantsAndRightsOutstanding
      contextRef="i3fdaa62facd44ebebbfcf3ca34c2696c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzEwLTUtMS0xLTUzODMw_c900a7b2-1cc0-45ad-8621-c66e99053f93"
      unitRef="usd">0</us-gaap:WarrantsAndRightsOutstanding>
    <us-gaap:WarrantsAndRightsOutstanding
      contextRef="ib6ae83e55cde472c9dc69cb92619bd18_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzEwLTctMS0xLTUzODMw_1506f744-fc22-4c47-bede-8879b26ab759"
      unitRef="usd">14261000</us-gaap:WarrantsAndRightsOutstanding>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="i76147e6a319e44b9b617ed77d293e62d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzExLTEtMS0xLTUzODMw_b1e6fbce-74f3-4b43-aee6-e6be58ccef2b"
      unitRef="usd">14261000</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="icb094e3cc5394c2f8396d3f9354a61e8_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzExLTMtMS0xLTUzODMw_5b9289f6-080b-48b5-95a6-4aaeab5fb727"
      unitRef="usd">0</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="i3fdaa62facd44ebebbfcf3ca34c2696c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzExLTUtMS0xLTUzODMw_964c79f6-23cc-4145-8a05-43631c0a65d0"
      unitRef="usd">0</us-gaap:LiabilitiesFairValueDisclosure>
    <us-gaap:LiabilitiesFairValueDisclosure
      contextRef="ib6ae83e55cde472c9dc69cb92619bd18_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo2ZjA2ZmZjYjEyYjI0NDc1ODFiNTA0MTkwZGJjM2Y1OC90YWJsZXJhbmdlOjZmMDZmZmNiMTJiMjQ0NzU4MWI1MDQxOTBkYmMzZjU4XzExLTctMS0xLTUzODMw_87fa079f-7018-4c38-bd18-ace532c9e825"
      unitRef="usd">14261000</us-gaap:LiabilitiesFairValueDisclosure>
    <tndm:CashEquivalentsMaturityTerm
      contextRef="i720b495542864ababdcca12cb55c2db9_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90ZXh0cmVnaW9uOjNkMzU2YWY4MDc3MzQ0MWRhYTdhMDRlYTZhNmJkNmY4XzEyNDk_caf98e2f-a493-4ae4-b007-9a34d2fe1f13">P3M</tndm:CashEquivalentsMaturityTerm>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="ie372881c9b5c41dfa02948e984ae1267_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90ZXh0cmVnaW9uOjNkMzU2YWY4MDc3MzQ0MWRhYTdhMDRlYTZhNmJkNmY4XzIxMjA_3b877f15-a9e8-4116-ac38-3947c71ff7db"
      unitRef="usdPerShare">3.50</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:ClassOfWarrantOrRightOutstanding
      contextRef="ie372881c9b5c41dfa02948e984ae1267_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90ZXh0cmVnaW9uOjNkMzU2YWY4MDc3MzQ0MWRhYTdhMDRlYTZhNmJkNmY4XzI1MjY_1401d117-e913-4b4a-8d0c-b58cdcb27ecc"
      unitRef="shares">1000</us-gaap:ClassOfWarrantOrRightOutstanding>
    <us-gaap:ClassOfWarrantOrRightOutstanding
      contextRef="id36ac0db888f41cbabafad2f45524adf_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90ZXh0cmVnaW9uOjNkMzU2YWY4MDc3MzQ0MWRhYTdhMDRlYTZhNmJkNmY4XzI1NDA_e3d09042-96fb-4803-9f2d-c066645145d4"
      unitRef="shares">154700</us-gaap:ClassOfWarrantOrRightOutstanding>
    <us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90ZXh0cmVnaW9uOjNkMzU2YWY4MDc3MzQ0MWRhYTdhMDRlYTZhNmJkNmY4XzM3OTM_deca4eff-50a9-4d9c-a7dd-9fa9d2ed17a1">. The assumptions used to estimate the fair values of the outstanding Series A warrants at December&#160;31, 2021 and 2020 are presented below:&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:72.730%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.621%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Series A Warrants&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected dividend yield&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.0%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.0%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;55.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.8&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.8&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisValuationTechniquesTableTextBlock>
    <us-gaap:WarrantsAndRightsOutstandingMeasurementInput
      contextRef="i6f142755f0884c459b9966a0fd50dcdd_I20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo1NWY3NDljNmVkZTE0NmExOTIwNjVjNWRjYmY1NmYxMC90YWJsZXJhbmdlOjU1Zjc0OWM2ZWRlMTQ2YTE5MjA2NWM1ZGNiZjU2ZjEwXzItMS0xLTEtNTM4MzA_f0f44750-56d2-493a-90f8-2151187b6eb5"
      unitRef="number">0.003</us-gaap:WarrantsAndRightsOutstandingMeasurementInput>
    <us-gaap:WarrantsAndRightsOutstandingMeasurementInput
      contextRef="i93c6d68c836b4eb597d8f258ed4a4272_I20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo1NWY3NDljNmVkZTE0NmExOTIwNjVjNWRjYmY1NmYxMC90YWJsZXJhbmdlOjU1Zjc0OWM2ZWRlMTQ2YTE5MjA2NWM1ZGNiZjU2ZjEwXzItMy0xLTEtNTM4MzA_8d16bf13-fc60-4d02-9a97-c5115646093d"
      unitRef="number">0.001</us-gaap:WarrantsAndRightsOutstandingMeasurementInput>
    <us-gaap:WarrantsAndRightsOutstandingMeasurementInput
      contextRef="i420b81525c1e4cecb28aadfc640c2880_I20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo1NWY3NDljNmVkZTE0NmExOTIwNjVjNWRjYmY1NmYxMC90YWJsZXJhbmdlOjU1Zjc0OWM2ZWRlMTQ2YTE5MjA2NWM1ZGNiZjU2ZjEwXzMtMS0xLTEtNTM4MzA_316148ea-4e3b-408e-a272-ed4ad5bff37e"
      unitRef="number">0.0</us-gaap:WarrantsAndRightsOutstandingMeasurementInput>
    <us-gaap:WarrantsAndRightsOutstandingMeasurementInput
      contextRef="i01f212774dd74289ae76228fb2d28b76_I20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo1NWY3NDljNmVkZTE0NmExOTIwNjVjNWRjYmY1NmYxMC90YWJsZXJhbmdlOjU1Zjc0OWM2ZWRlMTQ2YTE5MjA2NWM1ZGNiZjU2ZjEwXzMtMy0xLTEtNTM4MzA_a871c7e7-8abc-41dd-bb5a-7a06dcd168f2"
      unitRef="number">0.0</us-gaap:WarrantsAndRightsOutstandingMeasurementInput>
    <us-gaap:WarrantsAndRightsOutstandingMeasurementInput
      contextRef="ic1ed658ede904de9b639a930ce7cd040_I20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo1NWY3NDljNmVkZTE0NmExOTIwNjVjNWRjYmY1NmYxMC90YWJsZXJhbmdlOjU1Zjc0OWM2ZWRlMTQ2YTE5MjA2NWM1ZGNiZjU2ZjEwXzQtMS0xLTEtNTM4MzA_4a44f4ec-69a9-493c-bb4f-9f63ed054f66"
      unitRef="number">0.391</us-gaap:WarrantsAndRightsOutstandingMeasurementInput>
    <us-gaap:WarrantsAndRightsOutstandingMeasurementInput
      contextRef="i78ce0871eb214a60800826e2a36504e4_I20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo1NWY3NDljNmVkZTE0NmExOTIwNjVjNWRjYmY1NmYxMC90YWJsZXJhbmdlOjU1Zjc0OWM2ZWRlMTQ2YTE5MjA2NWM1ZGNiZjU2ZjEwXzQtMy0xLTEtNTM4MzA_f332faaf-dd4d-4884-ade5-fee42b52b75d"
      unitRef="number">0.553</us-gaap:WarrantsAndRightsOutstandingMeasurementInput>
    <us-gaap:WarrantsAndRightsOutstandingTerm
      contextRef="i97939e6c07944873be51c8b001594e1b_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo1NWY3NDljNmVkZTE0NmExOTIwNjVjNWRjYmY1NmYxMC90YWJsZXJhbmdlOjU1Zjc0OWM2ZWRlMTQ2YTE5MjA2NWM1ZGNiZjU2ZjEwXzUtMS0xLTEtNTM4MzA_7db57af5-6c67-4b0a-9083-13c56cb1aff1">P0Y9M18D</us-gaap:WarrantsAndRightsOutstandingTerm>
    <us-gaap:WarrantsAndRightsOutstandingTerm
      contextRef="i6bfed45a49d14836a5aabac92e78740e_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTo1NWY3NDljNmVkZTE0NmExOTIwNjVjNWRjYmY1NmYxMC90YWJsZXJhbmdlOjU1Zjc0OWM2ZWRlMTQ2YTE5MjA2NWM1ZGNiZjU2ZjEwXzUtMy0xLTEtNTM4MzA_fb730244-acd1-4fac-80a4-47853d9cdff9">P1Y9M18D</us-gaap:WarrantsAndRightsOutstandingTerm>
    <us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90ZXh0cmVnaW9uOjNkMzU2YWY4MDc3MzQ0MWRhYTdhMDRlYTZhNmJkNmY4XzM3OTQ_42864d51-9475-47a2-be47-e4fdb986a9b3">&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents a summary of changes in the fair value of the Company&#x2019;s Level 3 financial liabilities for the years ended December&#160;31, 2021 and 2020:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.730%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.621%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at beginning of year&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,261&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,509&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Loss recognized from the change in fair value of common stock warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,386&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Common stock warrants exercised during the period&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(15,500)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(26,335)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at end of year&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,261&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTozYWU3OGRlYTQ5ODg0NGE4OGJjZWZjMTJiOWU3MDY1Mi90YWJsZXJhbmdlOjNhZTc4ZGVhNDk4ODQ0YTg4YmNlZmMxMmI5ZTcwNjUyXzEtMS0xLTEtNTM4MzA_728fee1b-788c-4429-b1d6-bd654431d0d3"
      unitRef="usd">14261000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="ia35d79f7a8cd4f3e92d3a94270701280_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTozYWU3OGRlYTQ5ODg0NGE4OGJjZWZjMTJiOWU3MDY1Mi90YWJsZXJhbmdlOjNhZTc4ZGVhNDk4ODQ0YTg4YmNlZmMxMmI5ZTcwNjUyXzEtMy0xLTEtNTM4MzA_43d3b998-ee51-40a6-b4eb-930957884926"
      unitRef="usd">23509000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTozYWU3OGRlYTQ5ODg0NGE4OGJjZWZjMTJiOWU3MDY1Mi90YWJsZXJhbmdlOjNhZTc4ZGVhNDk4ODQ0YTg4YmNlZmMxMmI5ZTcwNjUyXzItMS0xLTEtNTM4MzA_7247466a-a09b-4961-ae6f-1d5f5b35db49"
      unitRef="usd">1386000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTozYWU3OGRlYTQ5ODg0NGE4OGJjZWZjMTJiOWU3MDY1Mi90YWJsZXJhbmdlOjNhZTc4ZGVhNDk4ODQ0YTg4YmNlZmMxMmI5ZTcwNjUyXzItMy0xLTEtNTM4MzA_a76efc7c-6aa2-4775-af3f-a1ea7c894f5f"
      unitRef="usd">17087000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTozYWU3OGRlYTQ5ODg0NGE4OGJjZWZjMTJiOWU3MDY1Mi90YWJsZXJhbmdlOjNhZTc4ZGVhNDk4ODQ0YTg4YmNlZmMxMmI5ZTcwNjUyXzMtMS0xLTEtNTM4MzA_b48430a5-aa23-403a-8b30-691e2619aaae"
      unitRef="usd">15500000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTozYWU3OGRlYTQ5ODg0NGE4OGJjZWZjMTJiOWU3MDY1Mi90YWJsZXJhbmdlOjNhZTc4ZGVhNDk4ODQ0YTg4YmNlZmMxMmI5ZTcwNjUyXzMtMy0xLTEtNTM4MzA_1adfe030-3c82-4bb6-8d9d-fb55c641bcda"
      unitRef="usd">26335000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilitySettlements>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTozYWU3OGRlYTQ5ODg0NGE4OGJjZWZjMTJiOWU3MDY1Mi90YWJsZXJhbmdlOjNhZTc4ZGVhNDk4ODQ0YTg4YmNlZmMxMmI5ZTcwNjUyXzQtMS0xLTEtNTM4MzA_a865ac87-680c-43bc-844b-f39ab9ec6f97"
      unitRef="usd">147000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90YWJsZTozYWU3OGRlYTQ5ODg0NGE4OGJjZWZjMTJiOWU3MDY1Mi90YWJsZXJhbmdlOjNhZTc4ZGVhNDk4ODQ0YTg4YmNlZmMxMmI5ZTcwNjUyXzQtMy0xLTEtNTM4MzA_54bde90a-69c2-4dc0-907b-76400e8b7fa7"
      unitRef="usd">14261000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
      contextRef="i145f08fae9af4fcdb49d49e5f99cd5c8_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90ZXh0cmVnaW9uOjNkMzU2YWY4MDc3MzQ0MWRhYTdhMDRlYTZhNmJkNmY4XzIxNDQwNDc2NzQ5OTc2_7182e911-c800-4306-bbb3-3c7ad5b12c6d"
      unitRef="usd">100000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings>
    <us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings
      contextRef="i2a2c7443d1504a17a631736041106994_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzAvZnJhZzozZDM1NmFmODA3NzM0NDFkYWE3YTA0ZWE2YTZiZDZmOC90ZXh0cmVnaW9uOjNkMzU2YWY4MDc3MzQ0MWRhYTdhMDRlYTZhNmJkNmY4XzM2OTU_ba7842e1-c929-414f-9660-1414117ccc8b"
      unitRef="usd">5500000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationRecurringBasisLiabilityGainLossIncludedInEarnings>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzUyNjE_c32953e0-92ad-44c0-93fd-3c6473900c78">Leases&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company's leases consist of operating leases for general office space, laboratory, manufacturing and warehouse facilities, and equipment. These noncancellable operating leases have initial lease terms from two years to twelve years, eight months. Leases with an initial term of&#160;12&#160;months&#160;or less are expensed as incurred and are not recorded as right-of-use assets on the Company&#x2019;s consolidated balance sheets. The Company is required to recognize operating lease right-of-use assets and liabilities, and begin recording lease expense when the Company takes possession of the leased property (the Commencement Date). The Company recognizes lease expense for these leases on a straight-line basis over the lease term. Because the Company&#x2019;s leases do not provide an implicit interest rate, the Company uses its incremental borrowing rate based on the information available at the lease Commencement Date to determine the operating lease right-of-use assets and liabilities based on the present value of future lease payments over the lease term. The Company used the incremental borrowing rate on January 1, 2019 for operating leases that commenced prior to that date.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Certain leases include an option to renew, with renewal terms that can extend the lease term for additional periods. The exercise of lease renewal options is at the Company&#x2019;s sole discretion. For renewal options that are reasonably certain at the lease Commencement Date of being exercised, the Company includes the renewal option period in the lease term. The depreciable life of assets and leasehold improvements are limited by the expected lease term, unless there is a transfer of title or purchase option that is reasonably certain to be exercised.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In November 2019, the Company entered into a lease agreement for approximately 94,562 square feet of additional general office space located on Shoreline Drive, in Boise, Idaho (Shoreline Lease). The lease term began in July 2020, and expires in June 2027. The Company has a one-time option to extend the term of the Shoreline Lease for a period of three years. The Company recognized right-of-use leased assets and corresponding operating lease liabilities of approximately $6.5&#160;million on the consolidated balance sheet on the Commencement Date in the first quarter of 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In January 2020, the Company entered into a sublease agreement for approximately 30,703 square feet of general office space located on High Bluff Drive, in San Diego, California (High Bluff Sublease). The lease term began in April 2020 and expires in March 2022. The Company recognized right-of-use leased assets and corresponding operating lease liabilities of approximately $2.3&#160;million on the consolidated balance sheet on the Commencement Date in the first quarter of 2020.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In September 2020, the Company amended certain leases covering four separate buildings that comprise in aggregate 77,458 square feet of general office and laboratory space located on Roselle Street in San Diego, California (Roselle Street Leases). The lease amendments extended the term of each lease for an additional period of one year, and included a rent increase during the additional lease term. The Roselle Street Leases, which would have expired in May 2022, are now scheduled to expire in May 2023. The Company recognized additional right-of-use leased assets and corresponding operating lease liabilities of $2.2&#160;million on the consolidated balance sheet in the third quarter of 2020 related to the amendment of the Roselle Street Leases.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In March 2021, the Company&#160;entered into a second amendment (Second Amendment) to its lease agreement for office space located on Vista Sorrento Parkway in San Diego, California (Vista Sorrento Lease) covering 59,013 square feet of general administrative office space (Existing Premises). The Second Amendment expanded the Existing Premises by adding 14,916 square feet of general administrative office space (Expansion Space), and extended the lease term for the Existing Premises through January 2028. The Expansion Space lease Commencement Date occurred in March 2021, and the lease term expires in January 2028. The Company has two options to extend the term of the Vista Sorrento Lease, covering both the Existing Premises and the Expansion Space, with each option providing for an additional period of five years. The Vista Sorrento Lease term was determined assuming the renewal options would not be exercised. The Company recognized right-of-use leased assets and corresponding operating lease liabilities of $15.1&#160;million on the consolidated balance sheet in the first quarter of 2021 related to the Second Amendment.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s lease costs recorded in the consolidated statements of operations were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&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:59.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,627&#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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,514&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,542&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Short-term lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;90&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;219&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;165&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,733&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,707&#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:12pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Maturities of operating lease liabilities at December&#160;31, 2021 were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:17pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.929%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:28.871%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Years 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,281&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,949&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,744&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,825&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,531&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,144&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total undiscounted lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,474&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: amount representing interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,273)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Present value of operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,201&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: current portion of operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9,279)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease liabilities - long-term&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,922&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#212529;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The weighted-average remaining lease term and weighted-average discount rate for operating leases were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.227%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.443%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.446%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average remaining lease term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.7&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average discount rate used to determine operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Cash paid for amounts included in the measurement of lease liabilities, representing operating cash flows from operating leases, was $9.5&#160;million and $8.2&#160;million for the years ended December&#160;31, 2021 and 2020, respectively&lt;/span&gt;&lt;span style="color:#008080;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Leases For Which Accounting Has Not Yet Commenced&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December 31, 2021, the Commencement Date for the High Bluff and Tech Center Leases described below, had not yet occurred. Accordingly, the consolidated balance sheet at December 31, 2021 does not include operating lease right-of-use assets and operating lease liabilities, and the consolidated statement of operations for the year ended December 31, 2021 does not include any lease costs, related to the High Bluff Lease and the Tech Center Lease. In addition, the above disclosures of the Company&#x2019;s lease costs, maturities of operating lease liabilities, and the weighted-average remaining lease term and weighted-average discount rate, do not include any amounts related to the High Bluff and Tech Center Leases.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;High Bluff Lease&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In May 2021, the Company entered into a lease agreement for approximately 31,372 square feet of general office space located on High Bluff Drive, in San Diego, California (High Bluff Lease). The High Bluff Lease is a direct lease agreement for the same property subject to the High Bluff Sublease. The lease term begins in April 2022 following the termination of the High Bluff Sublease in March 2022, and is scheduled to expire in March 2024. The Company expects to recognize right-of-use leased assets and corresponding operating lease liabilities of approximately $3.0&#160;million on the consolidated balance sheet on the Commencement Date in the second quarter of 2022.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Tech Center Lease&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In September 2021, the Company entered into a lease agreement for 181,949 square feet of additional general administrative, laboratory, and research and development office space (the Premises) located on High Bluff Drive in San Diego, California (Tech Center Lease). Possession of the Premises is expected to be tendered to the Company by the landlord in two phases, with Phase I consisting of 143,850 rentable square feet, and Phase II consisting of 38,099 rentable square feet. The Company intends to use Phase I of the Tech Center Lease for operations currently located at the Roselle Street Leases.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The initial lease term Phase I Commencement Date will occur on the date the Company is tendered possession of the Phase I portion of the Premises (which is currently expected to be in March 2022), and rent payments commence six months thereafter (the Phase I Rent Commencement Date). The Phase II Commencement Date is expected to occur upon the earlier of (i) the date upon which the Company first commences business in the Phase II portion of the Premises, and (ii) May 1, 2025 (the Phase II Rent Commencement Date). The lease will expire twelve years, eight months from the first day of the first full month following the Phase I Rent Commencement Date. The Company has two options to extend the term of the lease, with each option providing for an additional period of five years, by delivering written notice to the landlord in accordance with the terms of the Tech Center Lease.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Tech Center Lease also includes a first right of offer with respect to an additional 34,569 rentable square feet of general office space should the space become available. The lease term and associated base rent for the additional space will not be known until the Company is notified that the additional space has become available, and the Company elects to lease the space on terms mutually satisfactory to the Company and the landlord.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The initial base rent for the Tech Center Lease is approximately $906,000 per month beginning on the Phase I Rent Commencement Date, and the base rent increases by approximately $255,000 per month on the Phase II Rent Commencement Date. The monthly base rent will increase annually by 3.0% on each annual anniversary of the respective Rent Commencement Date. In addition to the monthly base rent, the Company is required to pay its proportionate share of certain ongoing operating expenses throughout the duration of the lease. No base rent, other than the proportionate share of operating expenses, will be due for the Phase I portion of the Premises for months &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzIxOTkwMjMyNzc0Njc_2f37208e-5f8c-494c-884d-e137b72d5cef"&gt;two&lt;/span&gt; through &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzIxOTkwMjMyNzc0NzM_dd2edd67-3fa2-4c3a-9c20-769d9d8f5975"&gt;nine&lt;/span&gt; of the initial lease term, and for the Phase II portion of the Premises for months &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzIxOTkwMjMyNzc0ODQ_a75c12b0-2375-4041-b214-006754bc3935"&gt;two&lt;/span&gt; through &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzIxOTkwMjMyNzc0Nzk_888a4575-2ad8-41be-863e-4548647501fa"&gt;five&lt;/span&gt; following the Phase II Rent Commencement Date.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum payments for monthly base rent due under the respective High Bluff Lease and Tech Center Lease terms, are currently estimated to be as follows (in thousands), subject to a number of factors, including the actual Commencement Date of the lease:&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:59.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Years Ending December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;High Bluff Lease&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Tech Center Lease&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,029&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,029&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,594&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,453&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,047&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;403&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,313&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,716&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,694&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,694&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,181&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,181&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027 through 2035&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;145,583&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;145,583&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,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="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;191,224&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;194,250&#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:7pt;padding-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;(1)  The Company currently estimates that the Commencement Date will occur in the second quarter of 2022, at which time the operating lease right-of-use assets and liabilities will be recorded.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt;padding-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;(2)  The Company currently estimates that the Phase I Commencement Date will occur in the first quarter of 2022, and the Phase II Commencement Date will occur in the first quarter of 2025, at which time the respective operating lease right-of-use assets and liabilities will be recorded.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="i3af4b2ebe3d14b5382fbe1065423d605_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzcxNDY4MjU2Mjg1MDU_4a8fc179-c0e5-4019-bfd1-fe1268034524">P2Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="i254605fd78ee4ee28051741850e7bc4a_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzQ5NDc4MDIzNzMxMjc_057ad8d5-4a54-4658-a179-e4ce34a80488">P12Y8M</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:AreaOfRealEstateProperty
      contextRef="if4f754dce77b49a99b52f21393ddf22f_I20191130"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzMxMjM_3f10aabc-9c8a-471e-8b02-7d4cfedc2b61"
      unitRef="sqft">94562</us-gaap:AreaOfRealEstateProperty>
    <tndm:LesseeOperatingLeaseNumberOfExtensions
      contextRef="if4f754dce77b49a99b52f21393ddf22f_I20191130"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzMzMjI_a4af03ae-d45f-4964-96d7-44f1baa86a73"
      unitRef="extension">1</tndm:LesseeOperatingLeaseNumberOfExtensions>
    <us-gaap:LesseeOperatingLeaseRenewalTerm
      contextRef="if4f754dce77b49a99b52f21393ddf22f_I20191130"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzMzOTU_2ab10e03-4b1e-46ec-9d94-2174e25bdc4a">P3Y</us-gaap:LesseeOperatingLeaseRenewalTerm>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i656bd80adecc4b2f949e64e9385b6618_I20200331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzM1MTI_6381e6cb-5b8a-4bf9-a72e-3502ff26b930"
      unitRef="usd">6500000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiability
      contextRef="i656bd80adecc4b2f949e64e9385b6618_I20200331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzM1MTI_fd6478cf-b279-42f0-9efe-5f23a2ed9317"
      unitRef="usd">6500000</us-gaap:OperatingLeaseLiability>
    <us-gaap:AreaOfRealEstateProperty
      contextRef="ic92d31db77dd41e3899208d2c10175a7_I20200131"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzM2ODc_c47948b6-d284-4fa4-9984-03e0bd34087d"
      unitRef="sqft">30703</us-gaap:AreaOfRealEstateProperty>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i4a1ab39f87de423dadad9d80b9dbaafa_I20200331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzM5NTY_0a71d925-645a-4d20-8e47-61d5de0b72bc"
      unitRef="usd">2300000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiability
      contextRef="i4a1ab39f87de423dadad9d80b9dbaafa_I20200331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzM5NTY_e5d40241-1799-4951-b034-9e0e40649235"
      unitRef="usd">2300000</us-gaap:OperatingLeaseLiability>
    <tndm:OperatingLeaseNumberOfBuildingsLeased
      contextRef="i31c38ba54ff1409fa99d0eeddb6c4a81_I20200930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzQ5NDc4MDIzNzMxNjA_47052c25-e338-425d-bd63-717a10c4edb2"
      unitRef="building">4</tndm:OperatingLeaseNumberOfBuildingsLeased>
    <us-gaap:AreaOfRealEstateProperty
      contextRef="ic552a261cc3c4839a1d972876e807c3b_I20200930"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzcxNDY4MjU2MTE2Mjg_5af5b1a1-e799-434e-9c1c-a4a24690c86d"
      unitRef="sqft">77458</us-gaap:AreaOfRealEstateProperty>
    <us-gaap:LesseeOperatingLeaseRenewalTerm
      contextRef="ic552a261cc3c4839a1d972876e807c3b_I20200930"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzQzMzc_f2b1d616-43fd-4783-86b4-488d4fa5c916">P1Y</us-gaap:LesseeOperatingLeaseRenewalTerm>
    <us-gaap:OperatingLeaseLiability
      contextRef="ic552a261cc3c4839a1d972876e807c3b_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzQ2MjA_42c2e082-b1d1-4a38-a7fc-8b6c3b19b05c"
      unitRef="usd">2200000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="ic552a261cc3c4839a1d972876e807c3b_I20200930"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzQ2MjA_ccb00efd-c5e9-4c9b-9d81-6b0cb6830841"
      unitRef="usd">2200000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:AreaOfRealEstateProperty
      contextRef="i97f2a766e9ce4dd5821721e8652dd7c8_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzE2NDkyNjc0NTAyNTA_1dc22b03-d6f9-4ab7-9038-d9a677679e74"
      unitRef="sqft">59013</us-gaap:AreaOfRealEstateProperty>
    <us-gaap:AreaOfRealEstateProperty
      contextRef="i16c1cebf0b9045efb7256e06c854cfb3_I20210331"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzE2NDkyNjc0NTAzMTE_a068dd16-2c63-4ede-b799-16a78d7a68f4"
      unitRef="sqft">14916</us-gaap:AreaOfRealEstateProperty>
    <tndm:LesseeOperatingLeaseNumberOfExtensions
      contextRef="i605de76edb9148aaad9be54e94940e6c_I20210331"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzE2NDkyNjc0NTAyNjE_8ef6bfab-46c0-4f45-9cdc-e17548135c67"
      unitRef="extension">2</tndm:LesseeOperatingLeaseNumberOfExtensions>
    <us-gaap:LesseeOperatingLeaseRenewalTerm
      contextRef="i605de76edb9148aaad9be54e94940e6c_I20210331"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzE2NDkyNjc0NTAzMDI_355b127e-bb3a-45be-aa87-98a202621611">P5Y</us-gaap:LesseeOperatingLeaseRenewalTerm>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i605de76edb9148aaad9be54e94940e6c_I20210331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzE2NDkyNjc0NTAyNzc_262545a3-aca7-4444-95ac-7e3972998d3c"
      unitRef="usd">15100000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiability
      contextRef="i605de76edb9148aaad9be54e94940e6c_I20210331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzE2NDkyNjc0NTAyNzc_7c84dbe4-2cd5-4d5c-a22d-b7f98e27c787"
      unitRef="usd">15100000</us-gaap:OperatingLeaseLiability>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzUyNjk_15f91f42-d4c2-4c52-9b1e-2feff475f093">&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s lease costs recorded in the consolidated statements of operations were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&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:59.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,627&#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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,514&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,542&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Short-term lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;90&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;219&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;165&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,733&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,707&#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:10pt;text-indent:45pt"&gt;&lt;span style="color:#212529;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The weighted-average remaining lease term and weighted-average discount rate for operating leases were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.227%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.443%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.446%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average remaining lease term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.7&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average discount rate used to determine operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTpiN2JjNDFhOTBmYzk0MTg2YWVlZjdkY2IzZmZiZGE3Ni90YWJsZXJhbmdlOmI3YmM0MWE5MGZjOTQxODZhZWVmN2RjYjNmZmJkYTc2XzItMS0xLTEtNTM4MzA_afda6721-f42d-462f-a83b-4d43c6da265f"
      unitRef="usd">8627000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTpiN2JjNDFhOTBmYzk0MTg2YWVlZjdkY2IzZmZiZGE3Ni90YWJsZXJhbmdlOmI3YmM0MWE5MGZjOTQxODZhZWVmN2RjYjNmZmJkYTc2XzItMy0xLTEtNTM4MzA_3a87ab21-76a3-4956-8965-fb84b741f23d"
      unitRef="usd">7514000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTpiN2JjNDFhOTBmYzk0MTg2YWVlZjdkY2IzZmZiZGE3Ni90YWJsZXJhbmdlOmI3YmM0MWE5MGZjOTQxODZhZWVmN2RjYjNmZmJkYTc2XzItNS0xLTEtNTM4MzA_b8a38bc3-bc2a-46f3-8b11-0a56e6c8e8e5"
      unitRef="usd">4542000</us-gaap:OperatingLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTpiN2JjNDFhOTBmYzk0MTg2YWVlZjdkY2IzZmZiZGE3Ni90YWJsZXJhbmdlOmI3YmM0MWE5MGZjOTQxODZhZWVmN2RjYjNmZmJkYTc2XzMtMS0xLTEtNTM4MzA_7fb1a14f-62de-4c5c-8380-a78e91c2f5e7"
      unitRef="usd">90000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTpiN2JjNDFhOTBmYzk0MTg2YWVlZjdkY2IzZmZiZGE3Ni90YWJsZXJhbmdlOmI3YmM0MWE5MGZjOTQxODZhZWVmN2RjYjNmZmJkYTc2XzMtMy0xLTEtNTM4MzA_8c033cb4-fe93-4d33-ac27-149ea9be95ce"
      unitRef="usd">219000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTpiN2JjNDFhOTBmYzk0MTg2YWVlZjdkY2IzZmZiZGE3Ni90YWJsZXJhbmdlOmI3YmM0MWE5MGZjOTQxODZhZWVmN2RjYjNmZmJkYTc2XzMtNS0xLTEtNTM4MzA_76f1ce7f-52ce-4167-9e02-492f42c66345"
      unitRef="usd">165000</us-gaap:ShortTermLeaseCost>
    <us-gaap:LeaseCost
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTpiN2JjNDFhOTBmYzk0MTg2YWVlZjdkY2IzZmZiZGE3Ni90YWJsZXJhbmdlOmI3YmM0MWE5MGZjOTQxODZhZWVmN2RjYjNmZmJkYTc2XzQtMS0xLTEtNTM4MzA_afb1ad3a-d501-4e7b-820c-a5e4eb55ca58"
      unitRef="usd">8717000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTpiN2JjNDFhOTBmYzk0MTg2YWVlZjdkY2IzZmZiZGE3Ni90YWJsZXJhbmdlOmI3YmM0MWE5MGZjOTQxODZhZWVmN2RjYjNmZmJkYTc2XzQtMy0xLTEtNTM4MzA_80ee965e-b350-4d4d-86d0-f7caa1f21182"
      unitRef="usd">7733000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTpiN2JjNDFhOTBmYzk0MTg2YWVlZjdkY2IzZmZiZGE3Ni90YWJsZXJhbmdlOmI3YmM0MWE5MGZjOTQxODZhZWVmN2RjYjNmZmJkYTc2XzQtNS0xLTEtNTM4MzA_b2720477-b9ec-4853-a77d-22c2089e5eaa"
      unitRef="usd">4707000</us-gaap:LeaseCost>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzUyNjM_9f96f197-f1a9-4a2d-a6cd-10c2cca423d2">&lt;div style="margin-top:12pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Maturities of operating lease liabilities at December&#160;31, 2021 were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:17pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:68.929%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:28.871%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Years 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,281&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,949&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,744&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,825&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,531&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,144&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total undiscounted lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,474&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: amount representing interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,273)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Present value of operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,201&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: current portion of operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9,279)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease liabilities - long-term&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23,922&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Future minimum payments for monthly base rent due under the respective High Bluff Lease and Tech Center Lease terms, are currently estimated to be as follows (in thousands), subject to a number of factors, including the actual Commencement Date of the lease:&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:59.572%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Years Ending December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;High Bluff Lease&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Tech Center Lease&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(2)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,029&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,029&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,594&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,453&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,047&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;403&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,313&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,716&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,694&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,694&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,181&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,181&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2027 through 2035&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;145,583&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;145,583&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,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="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;191,224&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;194,250&#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:7pt;padding-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;(1)  The Company currently estimates that the Commencement Date will occur in the second quarter of 2022, at which time the operating lease right-of-use assets and liabilities will be recorded.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:7pt;padding-left:13.5pt;text-indent:-13.5pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;(2)  The Company currently estimates that the Phase I Commencement Date will occur in the first quarter of 2022, and the Phase II Commencement Date will occur in the first quarter of 2025, at which time the respective operating lease right-of-use assets and liabilities will be recorded.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTpkZmNlZjc3ZmFhMTA0MDc5OGRjMzQ1ZTMyNzMyZDMzYS90YWJsZXJhbmdlOmRmY2VmNzdmYWExMDQwNzk4ZGMzNDVlMzI3MzJkMzNhXzEtMS0xLTEtNTM4MzA_37d8e55e-d656-43e2-b677-12715ff82d43"
      unitRef="usd">9281000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTpkZmNlZjc3ZmFhMTA0MDc5OGRjMzQ1ZTMyNzMyZDMzYS90YWJsZXJhbmdlOmRmY2VmNzdmYWExMDQwNzk4ZGMzNDVlMzI3MzJkMzNhXzItMS0xLTEtNTM4MzA_8c92be31-8a0e-45ba-a5ba-1b52d641b7fc"
      unitRef="usd">6949000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTpkZmNlZjc3ZmFhMTA0MDc5OGRjMzQ1ZTMyNzMyZDMzYS90YWJsZXJhbmdlOmRmY2VmNzdmYWExMDQwNzk4ZGMzNDVlMzI3MzJkMzNhXzMtMS0xLTEtNTM4MzA_52fad942-18b8-4646-a020-b071218a2de2"
      unitRef="usd">5744000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTpkZmNlZjc3ZmFhMTA0MDc5OGRjMzQ1ZTMyNzMyZDMzYS90YWJsZXJhbmdlOmRmY2VmNzdmYWExMDQwNzk4ZGMzNDVlMzI3MzJkMzNhXzQtMS0xLTEtNTM4MzA_7838cf3d-1410-4e0b-b4a0-792d04afeb8c"
      unitRef="usd">5825000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTpkZmNlZjc3ZmFhMTA0MDc5OGRjMzQ1ZTMyNzMyZDMzYS90YWJsZXJhbmdlOmRmY2VmNzdmYWExMDQwNzk4ZGMzNDVlMzI3MzJkMzNhXzUtMS0xLTEtNTM4MzA_4e38ea09-3a91-4b79-a497-f21412d9418c"
      unitRef="usd">5531000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTpkZmNlZjc3ZmFhMTA0MDc5OGRjMzQ1ZTMyNzMyZDMzYS90YWJsZXJhbmdlOmRmY2VmNzdmYWExMDQwNzk4ZGMzNDVlMzI3MzJkMzNhXzYtMS0xLTEtNTM4MzA_d38a1a91-5d7d-4782-be3b-4b31dd66d834"
      unitRef="usd">5144000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTpkZmNlZjc3ZmFhMTA0MDc5OGRjMzQ1ZTMyNzMyZDMzYS90YWJsZXJhbmdlOmRmY2VmNzdmYWExMDQwNzk4ZGMzNDVlMzI3MzJkMzNhXzctMS0xLTEtNTM4MzA_55248d11-a68a-4704-bae5-116609fc9aab"
      unitRef="usd">38474000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTpkZmNlZjc3ZmFhMTA0MDc5OGRjMzQ1ZTMyNzMyZDMzYS90YWJsZXJhbmdlOmRmY2VmNzdmYWExMDQwNzk4ZGMzNDVlMzI3MzJkMzNhXzgtMS0xLTEtNTM4MzA_92addf12-5120-40a7-afb7-ffe343b5b1e2"
      unitRef="usd">5273000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTpkZmNlZjc3ZmFhMTA0MDc5OGRjMzQ1ZTMyNzMyZDMzYS90YWJsZXJhbmdlOmRmY2VmNzdmYWExMDQwNzk4ZGMzNDVlMzI3MzJkMzNhXzktMS0xLTEtNTM4MzA_415ff038-d123-46f9-92e9-430fb4740c35"
      unitRef="usd">33201000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTpkZmNlZjc3ZmFhMTA0MDc5OGRjMzQ1ZTMyNzMyZDMzYS90YWJsZXJhbmdlOmRmY2VmNzdmYWExMDQwNzk4ZGMzNDVlMzI3MzJkMzNhXzEwLTEtMS0xLTUzODMw_f25ddc0b-8149-4140-950d-069ad0935f67"
      unitRef="usd">9279000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTpkZmNlZjc3ZmFhMTA0MDc5OGRjMzQ1ZTMyNzMyZDMzYS90YWJsZXJhbmdlOmRmY2VmNzdmYWExMDQwNzk4ZGMzNDVlMzI3MzJkMzNhXzExLTEtMS0xLTUzODMw_f3d5b53c-0533-47f1-b390-e7b7c8456072"
      unitRef="usd">23922000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTo4MDI4YmI1OTE2YzI0ZmRiYTY4YjM0ZWZmYjY1YmZjYS90YWJsZXJhbmdlOjgwMjhiYjU5MTZjMjRmZGJhNjhiMzRlZmZiNjViZmNhXzEtMS0xLTEtNTM4MzA_751c2354-9b22-41d1-9114-68a4c58a02ca">P5Y</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTo4MDI4YmI1OTE2YzI0ZmRiYTY4YjM0ZWZmYjY1YmZjYS90YWJsZXJhbmdlOjgwMjhiYjU5MTZjMjRmZGJhNjhiMzRlZmZiNjViZmNhXzEtMy0xLTEtNTM4MzA_6422fbbc-9139-4a9c-9a24-2646a4fb050e">P3Y8M12D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTo4MDI4YmI1OTE2YzI0ZmRiYTY4YjM0ZWZmYjY1YmZjYS90YWJsZXJhbmdlOjgwMjhiYjU5MTZjMjRmZGJhNjhiMzRlZmZiNjViZmNhXzItMS0xLTEtNTM4MzA_32914653-df8c-48ee-a556-8aa65447ffd4"
      unitRef="number">0.056</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTo4MDI4YmI1OTE2YzI0ZmRiYTY4YjM0ZWZmYjY1YmZjYS90YWJsZXJhbmdlOjgwMjhiYjU5MTZjMjRmZGJhNjhiMzRlZmZiNjViZmNhXzItMy0xLTEtNTM4MzA_d1d0fcee-2117-4654-8c8a-a254ecf35012"
      unitRef="number">0.059</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeasePayments
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzUxODk_4547ed5c-6e78-4bae-ad38-c459ad99c54a"
      unitRef="usd">9500000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzUxOTY_8f9caaad-f214-426c-b5b2-aa12a0916a1f"
      unitRef="usd">8200000</us-gaap:OperatingLeasePayments>
    <us-gaap:AreaOfRealEstateProperty
      contextRef="icaec32e8a40e4cc3a89d8839d8e53683_I20210531"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzEwOTk1MTE2NzM3MzU_2cc48fd4-25f7-4e9c-a586-2c663892e79c"
      unitRef="sqft">31372</us-gaap:AreaOfRealEstateProperty>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="ied0418f573dc43589c3f1e4b469fb592_I20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzcxNDY4MjU2MTE2NDQ_51275957-126e-4bcc-a4c1-11e9e542d2c6"
      unitRef="usd">3000000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiability
      contextRef="ied0418f573dc43589c3f1e4b469fb592_I20220630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzcxNDY4MjU2MTE2NDQ_5706bcf9-209e-41b4-a94a-2040721fad52"
      unitRef="usd">3000000</us-gaap:OperatingLeaseLiability>
    <us-gaap:AreaOfRealEstateProperty
      contextRef="i143315b634ec4c618dfb9ef98e0be908_I20210930"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzE2NDkyNjc0NjI5ODE_6658ce13-4b26-44b4-bc46-08f7a6a0a17b"
      unitRef="sqft">181949</us-gaap:AreaOfRealEstateProperty>
    <us-gaap:AreaOfRealEstateProperty
      contextRef="i90c3e35dfbb04ec8a3ed03ea47d32b2b_I20210930"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzE2NDkyNjc0NjI5OTA_634b2f11-75bf-4fe3-8d36-d0d0382308da"
      unitRef="sqft">143850</us-gaap:AreaOfRealEstateProperty>
    <us-gaap:AreaOfRealEstateProperty
      contextRef="ia9d1b2e6d20e435392ad7fc1d97008a0_I20210930"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzE2NDkyNjc0NjMwMzA_8875d1ba-e513-4a61-bd8f-4eb691b738c0"
      unitRef="sqft">38099</us-gaap:AreaOfRealEstateProperty>
    <tndm:LesseeOperatingLeaseRentCommencementPeriod
      contextRef="i713975d2d2924caf89342acc4ad37a5d_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzM4NDgyOTA3MDc3NTg_18c2ee5a-d88e-49cd-818e-407ed788a41c">P6M</tndm:LesseeOperatingLeaseRentCommencementPeriod>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="i469150eb29e74b3bbdc68176e0382db3_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzM4NDgyOTA3MDgxMTA_ba4c1eda-46c6-4a54-a03e-40f3d5c1253d">P12Y8M</us-gaap:LesseeOperatingLeaseTermOfContract>
    <tndm:LesseeOperatingLeaseNumberOfExtensions
      contextRef="i469150eb29e74b3bbdc68176e0382db3_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzM4NDgyOTA3MDgyMTk_1c39efee-d4e8-4ae3-b139-6f36aa4628f4"
      unitRef="extension">2</tndm:LesseeOperatingLeaseNumberOfExtensions>
    <us-gaap:LesseeOperatingLeaseRenewalTerm
      contextRef="i469150eb29e74b3bbdc68176e0382db3_I20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzM4NDgyOTA3MDgzMTk_0990f1f5-d9cf-40b5-8c68-9d3a740e98f8">P5Y</us-gaap:LesseeOperatingLeaseRenewalTerm>
    <us-gaap:AreaOfRealEstateProperty
      contextRef="i469150eb29e74b3bbdc68176e0382db3_I20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzM4NDgyOTA3MDg1MTI_9292fde8-76ed-44e2-867d-0fea4b7cd514"
      unitRef="sqft">34569</us-gaap:AreaOfRealEstateProperty>
    <tndm:LesseeOperatingLeaseMonthlyBaseRent
      contextRef="i2c4ed2bfae0a4f0fa3a83c4332ebdb6f_D20210101-20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzIxOTkwMjMyNzc0MjQ_9d393c0c-55e4-4114-a776-f4020e20e3a3"
      unitRef="usd">906000</tndm:LesseeOperatingLeaseMonthlyBaseRent>
    <tndm:LesseeOperatingLeaseMonthlyIncreaseInBaseRent
      contextRef="i12e7c49af7b34893878c1323535493f4_D20210101-20211231"
      decimals="0"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzIxOTkwMjMyNzc0NDM_d228b3ee-74f1-42a6-a3bb-d9b75a008ad5"
      unitRef="usd">255000</tndm:LesseeOperatingLeaseMonthlyIncreaseInBaseRent>
    <tndm:LesseeOperatingLeaseAnnualIncreaseInMonthlyBaseRentPercentage
      contextRef="i2c4ed2bfae0a4f0fa3a83c4332ebdb6f_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90ZXh0cmVnaW9uOjdmY2MzODRjMjQxZDQyMTA4NGUwM2U3M2JlYjJiODAzXzIxOTkwMjMyNzc0NTg_cb4f2c17-8d5b-4deb-a110-e1a32ae9dad1"
      unitRef="number">0.030</tndm:LesseeOperatingLeaseAnnualIncreaseInMonthlyBaseRentPercentage>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i321b9488e10c4ea5bc2d94b28e7037ac_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTo1NzAyNzkzYzhhZDk0NDhmYTk2MWNiMDZkMjlkMDFmNy90YWJsZXJhbmdlOjU3MDI3OTNjOGFkOTQ0OGZhOTYxY2IwNmQyOWQwMWY3XzEtMS0xLTEtNzYyNzE_6bc528e2-3418-4156-9e8b-7ae885fe5269"
      unitRef="usd">1029000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i469150eb29e74b3bbdc68176e0382db3_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTo1NzAyNzkzYzhhZDk0NDhmYTk2MWNiMDZkMjlkMDFmNy90YWJsZXJhbmdlOjU3MDI3OTNjOGFkOTQ0OGZhOTYxY2IwNmQyOWQwMWY3XzEtMy0xLTEtNzYyNzI_64302a96-5c7b-4099-b0de-58eb3a8066a0"
      unitRef="usd">0</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i0b3bdde2b9c24c3abf37c8e1d566f6ad_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTo1NzAyNzkzYzhhZDk0NDhmYTk2MWNiMDZkMjlkMDFmNy90YWJsZXJhbmdlOjU3MDI3OTNjOGFkOTQ0OGZhOTYxY2IwNmQyOWQwMWY3XzEtMS0xLTEtNjM1NTc_c478fb51-3051-4ba5-8d37-31cf2d851555"
      unitRef="usd">1029000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="i321b9488e10c4ea5bc2d94b28e7037ac_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTo1NzAyNzkzYzhhZDk0NDhmYTk2MWNiMDZkMjlkMDFmNy90YWJsZXJhbmdlOjU3MDI3OTNjOGFkOTQ0OGZhOTYxY2IwNmQyOWQwMWY3XzItMS0xLTEtNzYyNzE_6320a71e-7224-421e-b73c-0f4a2dbf4684"
      unitRef="usd">1594000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="i469150eb29e74b3bbdc68176e0382db3_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTo1NzAyNzkzYzhhZDk0NDhmYTk2MWNiMDZkMjlkMDFmNy90YWJsZXJhbmdlOjU3MDI3OTNjOGFkOTQ0OGZhOTYxY2IwNmQyOWQwMWY3XzItMy0xLTEtNzYyNzI_5d2d9fc7-5465-4fc5-a3b4-7ce61fca31e4"
      unitRef="usd">6453000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="i0b3bdde2b9c24c3abf37c8e1d566f6ad_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTo1NzAyNzkzYzhhZDk0NDhmYTk2MWNiMDZkMjlkMDFmNy90YWJsZXJhbmdlOjU3MDI3OTNjOGFkOTQ0OGZhOTYxY2IwNmQyOWQwMWY3XzItMS0xLTEtNjM1NTc_5b7fc128-b910-4f60-801c-3068a788a90a"
      unitRef="usd">8047000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="i321b9488e10c4ea5bc2d94b28e7037ac_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTo1NzAyNzkzYzhhZDk0NDhmYTk2MWNiMDZkMjlkMDFmNy90YWJsZXJhbmdlOjU3MDI3OTNjOGFkOTQ0OGZhOTYxY2IwNmQyOWQwMWY3XzMtMS0xLTEtNzYyNzE_fade7769-e71a-40c6-aaf5-988c643ade98"
      unitRef="usd">403000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="i469150eb29e74b3bbdc68176e0382db3_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTo1NzAyNzkzYzhhZDk0NDhmYTk2MWNiMDZkMjlkMDFmNy90YWJsZXJhbmdlOjU3MDI3OTNjOGFkOTQ0OGZhOTYxY2IwNmQyOWQwMWY3XzMtMy0xLTEtNzYyNzI_a44e3f62-8096-4e4d-98a9-22628bcbc51a"
      unitRef="usd">11313000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="i0b3bdde2b9c24c3abf37c8e1d566f6ad_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTo1NzAyNzkzYzhhZDk0NDhmYTk2MWNiMDZkMjlkMDFmNy90YWJsZXJhbmdlOjU3MDI3OTNjOGFkOTQ0OGZhOTYxY2IwNmQyOWQwMWY3XzMtMS0xLTEtNjM1NTc_6b6109fa-55a6-4a6f-bfd3-53523519a129"
      unitRef="usd">11716000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="i321b9488e10c4ea5bc2d94b28e7037ac_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTo1NzAyNzkzYzhhZDk0NDhmYTk2MWNiMDZkMjlkMDFmNy90YWJsZXJhbmdlOjU3MDI3OTNjOGFkOTQ0OGZhOTYxY2IwNmQyOWQwMWY3XzQtMS0xLTEtNzYyNzE_a5c86947-cb58-4be5-8051-8a63de2148ef"
      unitRef="usd">0</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="i469150eb29e74b3bbdc68176e0382db3_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTo1NzAyNzkzYzhhZDk0NDhmYTk2MWNiMDZkMjlkMDFmNy90YWJsZXJhbmdlOjU3MDI3OTNjOGFkOTQ0OGZhOTYxY2IwNmQyOWQwMWY3XzQtMy0xLTEtNzYyNzI_92d40129-c109-43cb-861d-e8ec103b167f"
      unitRef="usd">12694000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="i0b3bdde2b9c24c3abf37c8e1d566f6ad_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTo1NzAyNzkzYzhhZDk0NDhmYTk2MWNiMDZkMjlkMDFmNy90YWJsZXJhbmdlOjU3MDI3OTNjOGFkOTQ0OGZhOTYxY2IwNmQyOWQwMWY3XzQtMS0xLTEtNjM1NTc_7b966373-6059-4738-9612-6c2290cf70e5"
      unitRef="usd">12694000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="i321b9488e10c4ea5bc2d94b28e7037ac_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTo1NzAyNzkzYzhhZDk0NDhmYTk2MWNiMDZkMjlkMDFmNy90YWJsZXJhbmdlOjU3MDI3OTNjOGFkOTQ0OGZhOTYxY2IwNmQyOWQwMWY3XzUtMS0xLTEtNzYyNzE_c4f1f51b-72a5-4370-b078-6dece92358ad"
      unitRef="usd">0</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="i469150eb29e74b3bbdc68176e0382db3_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTo1NzAyNzkzYzhhZDk0NDhmYTk2MWNiMDZkMjlkMDFmNy90YWJsZXJhbmdlOjU3MDI3OTNjOGFkOTQ0OGZhOTYxY2IwNmQyOWQwMWY3XzUtMy0xLTEtNzYyNzI_3797ef16-e3bf-4767-a8eb-b2f5abc8b850"
      unitRef="usd">15181000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive
      contextRef="i0b3bdde2b9c24c3abf37c8e1d566f6ad_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTo1NzAyNzkzYzhhZDk0NDhmYTk2MWNiMDZkMjlkMDFmNy90YWJsZXJhbmdlOjU3MDI3OTNjOGFkOTQ0OGZhOTYxY2IwNmQyOWQwMWY3XzUtMS0xLTEtNjM1NTc_05841117-0e1c-4798-859b-ce0ac683a15f"
      unitRef="usd">15181000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="i321b9488e10c4ea5bc2d94b28e7037ac_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTo1NzAyNzkzYzhhZDk0NDhmYTk2MWNiMDZkMjlkMDFmNy90YWJsZXJhbmdlOjU3MDI3OTNjOGFkOTQ0OGZhOTYxY2IwNmQyOWQwMWY3XzYtMS0xLTEtNzYyNzE_9f5d14ee-d504-44b0-9a03-c63973b349ed"
      unitRef="usd">0</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="i469150eb29e74b3bbdc68176e0382db3_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTo1NzAyNzkzYzhhZDk0NDhmYTk2MWNiMDZkMjlkMDFmNy90YWJsZXJhbmdlOjU3MDI3OTNjOGFkOTQ0OGZhOTYxY2IwNmQyOWQwMWY3XzYtMy0xLTEtNzYyNzI_fac965a7-83f3-45ae-b6d2-da6e081eae43"
      unitRef="usd">145583000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
      contextRef="i0b3bdde2b9c24c3abf37c8e1d566f6ad_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTo1NzAyNzkzYzhhZDk0NDhmYTk2MWNiMDZkMjlkMDFmNy90YWJsZXJhbmdlOjU3MDI3OTNjOGFkOTQ0OGZhOTYxY2IwNmQyOWQwMWY3XzYtMS0xLTEtNjM1NTc_550af4c3-5a66-4636-bb4f-e2792653ed8e"
      unitRef="usd">145583000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i321b9488e10c4ea5bc2d94b28e7037ac_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTo1NzAyNzkzYzhhZDk0NDhmYTk2MWNiMDZkMjlkMDFmNy90YWJsZXJhbmdlOjU3MDI3OTNjOGFkOTQ0OGZhOTYxY2IwNmQyOWQwMWY3XzctMS0xLTEtNzYyNzE_80c03e9c-e498-40e0-b614-9e43ac80f800"
      unitRef="usd">3026000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i469150eb29e74b3bbdc68176e0382db3_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTo1NzAyNzkzYzhhZDk0NDhmYTk2MWNiMDZkMjlkMDFmNy90YWJsZXJhbmdlOjU3MDI3OTNjOGFkOTQ0OGZhOTYxY2IwNmQyOWQwMWY3XzctMy0xLTEtNzYyNzI_16903b77-163f-45cf-a014-13e1d905a71a"
      unitRef="usd">191224000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i0b3bdde2b9c24c3abf37c8e1d566f6ad_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzMvZnJhZzo3ZmNjMzg0YzI0MWQ0MjEwODRlMDNlNzNiZWIyYjgwMy90YWJsZTo1NzAyNzkzYzhhZDk0NDhmYTk2MWNiMDZkMjlkMDFmNy90YWJsZXJhbmdlOjU3MDI3OTNjOGFkOTQ0OGZhOTYxY2IwNmQyOWQwMWY3XzctMS0xLTEtNjQzNzU_068e241b-a05d-42ec-b4f5-5143e5a4206d"
      unitRef="usd">194250000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMzYvZnJhZzoyMmRiNGIxZmQ0ODQ0OGZmYjkwNmFjOGMwMzdlZjU1MC90ZXh0cmVnaW9uOjIyZGI0YjFmZDQ4NDQ4ZmZiOTA2YWM4YzAzN2VmNTUwXzg0MzQ_2c40e85b-1e9b-42d7-b636-1a08a95647f4">Debt&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Convertible Senior Notes&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In May 2020, the Company entered into a purchase agreement with certain counterparties for the sale of an aggregate of $287.5&#160;million principal amount of 1.50% Convertible Senior Notes due 2025 (Notes) in a private offering to qualified institutional buyers pursuant to Rule 144A under the Securities Act of 1933, as amended. The proceeds from the issuance of the Notes were $244.6 million, net of debt issuance costs and cash used to pay the cost of the capped call transactions (Capped Call Transactions) discussed below.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Notes are the Company&#x2019;s senior unsecured obligations. Interest is payable in cash semi-annually in arrears beginning on November 1, 2020 at a rate of 1.50% per year. The Notes mature on May 1, 2025 unless repurchased, redeemed, or converted in accordance with their terms prior to the maturity date.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Notes are convertible into cash, shares of the Company&#x2019;s common stock, or a combination of cash and shares of the Company&#x2019;s common stock, at the Company&#x2019;s election, at an initial conversion rate of 8.8836 shares of common stock per $1,000 principal amount of the Notes, which is equivalent to an initial conversion price of $112.57 (Conversion Price) per share of the Company&#x2019;s common stock. The conversion rate is subject to customary adjustments for certain events as described in the Indenture. The Company expects to settle conversions through a combination settlement, which involves payment in cash equal to the principal portion and delivery of shares of common stock for the excess of the conversion value over the principal portion.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company may not redeem the Notes prior to May 6, 2023. The Company has the option to redeem for cash all or any portion of the Notes on or after May 6, 2023 if the last reported sale price of the Company&#x2019;s common stock has been at least 130% of the Conversion Price then in effect for at least 20 trading days (whether or not consecutive), including the trading day immediately preceding the date on which the Company provides notice of redemption, during any 30 consecutive trading day period, at a redemption price equal to 100% of the principal amount of the Notes to be redeemed, plus accrued and unpaid interest. No sinking fund is provided for the Notes.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Holders of the Notes may convert all or a portion of their Notes at their option prior to November 1, 2024, in multiples of $1,000 principal amounts, only under the following circumstances:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:72pt;text-indent:-27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.5pt"&gt;if the last reported sale price of the Company&#x2019;s common stock for at least 20 trading days (whether or not consecutive) during the period of 30 consecutive trading days ending on the last trading day of the immediately preceding calendar quarter is greater than or equal to 130% of the applicable conversion price of the Notes on each such trading day;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:72pt;text-indent:-27pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:72pt;text-indent:-27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.5pt"&gt;during the five business day period after any five consecutive trading day period in which the trading price per $1,000 principal amount of the Notes for each day of that five consecutive trading day period was less than 98% of the product of the last reported sale price of the Company&#x2019;s common stock and the applicable conversion rate of the Notes on such trading day;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:72pt;text-indent:-27pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:72pt;text-indent:-27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.5pt"&gt;if the Company calls any or all of the Notes for redemption, at any time prior to the close of business on the scheduled trading day immediately preceding the redemption date; or&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:72pt;text-indent:-27pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:72pt;text-indent:-27pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:23.5pt"&gt;on the occurrence of specified corporate events.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On or after November 1, 2024, until the close of business on the second scheduled trading day immediately preceding the maturity date, holders may convert their Notes at any time, regardless of the foregoing circumstances.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Holders of the Notes who convert in connection with a make-whole fundamental change or in connection with a redemption are entitled to an increase in the conversion rate. Additionally, in the event of a fundamental change, holders of the Notes may require us to repurchase all or a portion of the Notes at a price equal to 100% of the principal amount of the Notes, plus any accrued and unpaid interest.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:45pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Initially, in accounting for the issuance of the Notes, the Company separated the Notes into liability and equity components. The carrying amount of the liability component was calculated by measuring the fair value of similar debt instruments, which do not have an associated convertible feature. The carrying amount of the equity component representing the co&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;nversion option for the Notes was $88.5&#160;million and was recorded as a debt discount, which was being amortized to interest expense at an effective interest rate of 9.9%. In addition, t&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;he Company allocated&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; $2.7&#160;million of debt issuance costs to the equity component and the remaining debt issuance costs of $6.1&#160;million were allocated to the liability component, which were being amortized to interest expense under the effective interest rate method. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:45pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On January 1, 2021, the Company early adopted ASU No. 2020-06, &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Accounting for Convertible Instruments and Contracts in an Entity&#x2019;s Own Equity&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, which is intended to simplify the accounting for convertible instruments. The ASU eliminates the cash conversion feature models in ASC 470-20, &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Debt with Conversion and Other Options&lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, which required an issuer of certain convertible debt to separately account for embedded conversion features as a component of equity. Instead, an issuer will account for these securities as a single unit of account, unless the conversion feature meets certain criteria. &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company adopted the new standard using the modified retrospective method, and recorded a net reduction to accumulated deficit of $9.0&#160;million, a decrease to additional paid-in capital of $85.8&#160;million, and an increase to convertible senior notes, net - long-term of $76.8&#160;million to reflect the impact of the accounting change. The Notes are now accounted for as a single liability measured at amortized cost, as no other embedded features require bifurcation and recognition as derivatives.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The liability and equity components of the Notes consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&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:64.104%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.005%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.007%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Liability:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Principal amount&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;287,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;287,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unamortized debt issuance costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cff0fc;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,033)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,446)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unamortized debt discount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(79,070)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net carrying amount&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;281,467&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;202,984&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Carrying amount of the equity component&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,803&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2021, the unamortized debt issuance costs of $6.0&#160;million associated with the Notes will be amortized to interest expense, at an effective interest rate of 2.2% over the remaining period of approximately 3.3 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table details interest expense recognized related to the Notes for the years ended December&#160;31, 2021 and 2020 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.426%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.344%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.346%"/&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 style="height:14pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contractual interest expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,313&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,707&#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;td colspan="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of debt issuance costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,727&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of debt discount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;N/A&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,446&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total interest 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,040&#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&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,805&#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;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;text-indent:45pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Notes will have a dilutive effect to the extent the average market price per share of common stock for a given reporting period exceeds the conversion price of $112.57. As of December&#160;31, 2021, the if-converted value of the Notes exceeded the principal amount by $96.9 million. As of December 31, 2020, the &#x201c;if-converted value&#x201d; did not exceed the principal amount of the Notes.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Capped Call Transactions&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In connection with the issuance of the Notes, the Company entered into Capped Call Transactions in May 2020 with certain counterparties at a net cost of $34.1&#160;million. The Capped Call Transactions are intended to reduce potential dilution to holders of the Company&#x2019;s common stock beyond the conversion price of $112.57, up to a conversion price of $173.18 on any conversion of the Notes, or to offset any cash payments the Company is required to make in excess of the principal amount of such converted Notes, as the case may be, with such reduction or offset subject to a cap. The cap price of the Capped Call Transactions is initially $173.18 per share of the Company&#x2019;s common stock, representing a premium of 100% above the last reported sale price of $86.59 per share of the Company&#x2019;s common stock on May 12, 2020, and is subject to certain adjustments under the terms of the Capped Call Transactions. Conditions that cause adjustments to the initial strike price of the Capped Call Transactions mirror conditions that result in corresponding adjustments for the Notes.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For accounting purposes, the Capped Call Transactions are separate transactions, and not part of the terms of the Notes, while they are integrated for federal tax purposes. As these transactions met certain criteria under the applicable accounting guidance, the Capped Call Transactions were recorded in stockholders' equity and were not accounted for as derivatives. The cost of the Capped Call Transactions was recorded as a reduction of the Company&#x2019;s additional paid-in capital in the Company&#x2019;s consolidated balance sheet and will not be remeasured.&lt;/span&gt;&lt;/div&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="iee0b46805dcf4ba2b056ed89d983da6d_I20200531"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGV4dHJlZ2lvbjo5OTI5OWVjMTk0OWM0ODBmOWMyNWQ3YjhhOGJhZDYyZl8xMDk5NTExNjI3OTI1_51e2c5d6-c5b2-4509-b962-d24dbac0df7c"
      unitRef="usd">287500000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="iee0b46805dcf4ba2b056ed89d983da6d_I20200531"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGV4dHJlZ2lvbjo5OTI5OWVjMTk0OWM0ODBmOWMyNWQ3YjhhOGJhZDYyZl8xMDk5NTExNjI3OTQ5_277780bf-d47d-4f05-bcbe-5826de2607c9"
      unitRef="number">0.0150</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:ProceedsFromIssuanceOfDebt
      contextRef="ic7ebbdecda8a4ef88bca8da80797f3ab_D20200501-20200531"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGV4dHJlZ2lvbjo5OTI5OWVjMTk0OWM0ODBmOWMyNWQ3YjhhOGJhZDYyZl8xMDk5NTExNjI4MTcx_16987a5c-88d5-4ec3-91d4-08fc2e775654"
      unitRef="usd">244600000</us-gaap:ProceedsFromIssuanceOfDebt>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="iee0b46805dcf4ba2b056ed89d983da6d_I20200531"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGV4dHJlZ2lvbjo5OTI5OWVjMTk0OWM0ODBmOWMyNWQ3YjhhOGJhZDYyZl8xMDk5NTExNjI4NDY1_eeb94351-5ddb-45de-bb95-a1487407c849"
      unitRef="number">0.0150</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentConvertibleConversionPrice1
      contextRef="iee0b46805dcf4ba2b056ed89d983da6d_I20200531"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGV4dHJlZ2lvbjo5OTI5OWVjMTk0OWM0ODBmOWMyNWQ3YjhhOGJhZDYyZl8xMDk5NTExNjI4OTUz_fddfe501-3e36-493d-9214-953ccd214628"
      unitRef="usdPerShare">112.57</us-gaap:DebtInstrumentConvertibleConversionPrice1>
    <us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger
      contextRef="ic7f2889d0cde4ab48184f8b42eeef737_D20200501-20200531"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGV4dHJlZ2lvbjo5OTI5OWVjMTk0OWM0ODBmOWMyNWQ3YjhhOGJhZDYyZl8xMDk5NTExNjI5NjI5_69bb6df3-ee3e-4542-9721-96b5689109ba"
      unitRef="number">1.30</us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger>
    <us-gaap:DebtInstrumentConvertibleThresholdTradingDays
      contextRef="ic7ebbdecda8a4ef88bca8da80797f3ab_D20200501-20200531"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGV4dHJlZ2lvbjo5OTI5OWVjMTk0OWM0ODBmOWMyNWQ3YjhhOGJhZDYyZl8xMDk5NTExNjI5Njg1_272deead-58ef-435e-9d89-ba426155cd01"
      unitRef="segment">20</us-gaap:DebtInstrumentConvertibleThresholdTradingDays>
    <us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1
      contextRef="ic7ebbdecda8a4ef88bca8da80797f3ab_D20200501-20200531"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGV4dHJlZ2lvbjo5OTI5OWVjMTk0OWM0ODBmOWMyNWQ3YjhhOGJhZDYyZl8xMDk5NTExNjI5ODUy_8d41896a-1cb1-4b13-ba58-c07f2d7f0648"
      unitRef="trading_day">30</us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="ic7ebbdecda8a4ef88bca8da80797f3ab_D20200501-20200531"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGV4dHJlZ2lvbjo5OTI5OWVjMTk0OWM0ODBmOWMyNWQ3YjhhOGJhZDYyZl8xMDk5NTExNjI5OTE5_d362c6d6-3230-4d57-83d7-7ce76a5f6461"
      unitRef="number">1</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:DebtInstrumentConvertibleThresholdTradingDays
      contextRef="ida8e54184f1a4ae48cb6bbb2868cad99_D20200501-20200531"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGV4dHJlZ2lvbjo5OTI5OWVjMTk0OWM0ODBmOWMyNWQ3YjhhOGJhZDYyZl8xMDk5NTExNjMwMzA3_9e864aa1-b30a-4791-a8fb-dd68a66c77e4"
      unitRef="trading_day">20</us-gaap:DebtInstrumentConvertibleThresholdTradingDays>
    <us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1
      contextRef="ida8e54184f1a4ae48cb6bbb2868cad99_D20200501-20200531"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGV4dHJlZ2lvbjo5OTI5OWVjMTk0OWM0ODBmOWMyNWQ3YjhhOGJhZDYyZl8xMDk5NTExNjMwMzc0_07c34f28-4f92-47cf-bab3-d14f38913c57"
      unitRef="trading_day">30</us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1>
    <us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger
      contextRef="ia6ed7a39def34a128ec52adc97261a1b_D20200501-20200531"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGV4dHJlZ2lvbjo5OTI5OWVjMTk0OWM0ODBmOWMyNWQ3YjhhOGJhZDYyZl8xMDk5NTExNjMwNTA4_2bc59854-6646-4c95-a072-96c49d0950e4"
      unitRef="number">1.30</us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger>
    <us-gaap:DebtInstrumentConvertibleThresholdTradingDays
      contextRef="ic2a92661fa074548809d8bddeb5abf25_D20200501-20200531"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGV4dHJlZ2lvbjo5OTI5OWVjMTk0OWM0ODBmOWMyNWQ3YjhhOGJhZDYyZl8xMDk5NTExNjMwNTk4_26d763fa-2db2-403f-9026-92c4a492cfb4"
      unitRef="trading_day">5</us-gaap:DebtInstrumentConvertibleThresholdTradingDays>
    <us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1
      contextRef="ic2a92661fa074548809d8bddeb5abf25_D20200501-20200531"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGV4dHJlZ2lvbjo5OTI5OWVjMTk0OWM0ODBmOWMyNWQ3YjhhOGJhZDYyZl8xMDk5NTExNjMwNjMy_eccd6cba-578c-41f6-ad72-a746799e5788"
      unitRef="trading_day">5</us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1>
    <us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1
      contextRef="ic2a92661fa074548809d8bddeb5abf25_D20200501-20200531"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGV4dHJlZ2lvbjo5OTI5OWVjMTk0OWM0ODBmOWMyNWQ3YjhhOGJhZDYyZl8xMDk5NTExNjMwNzU2_492fb2d8-d1b3-4af9-95dc-155422349be7"
      unitRef="trading_day">5</us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1>
    <us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger
      contextRef="i42a9e225a21b452397cd8e7d1d2d3338_D20200501-20200531"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGV4dHJlZ2lvbjo5OTI5OWVjMTk0OWM0ODBmOWMyNWQ3YjhhOGJhZDYyZl8xMDk5NTExNjMwODA1_939014d7-c3f8-4f93-b792-cb7ccd96b764"
      unitRef="number">0.98</us-gaap:DebtInstrumentConvertibleThresholdPercentageOfStockPriceTrigger>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="ic7ebbdecda8a4ef88bca8da80797f3ab_D20200501-20200531"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGV4dHJlZ2lvbjo5OTI5OWVjMTk0OWM0ODBmOWMyNWQ3YjhhOGJhZDYyZl8xMDk5NTExNjMxNzMz_1973ad33-3e0f-4bd5-8cf5-41ff5d5c0ed2"
      unitRef="number">1</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent
      contextRef="iee0b46805dcf4ba2b056ed89d983da6d_I20200531"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGV4dHJlZ2lvbjo5OTI5OWVjMTk0OWM0ODBmOWMyNWQ3YjhhOGJhZDYyZl8xMDk5NTExNjMyMjA4_514daaf1-3c3c-490b-9c16-a810d04a64bb"
      unitRef="usd">88500000</us-gaap:DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="iee0b46805dcf4ba2b056ed89d983da6d_I20200531"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGV4dHJlZ2lvbjo5OTI5OWVjMTk0OWM0ODBmOWMyNWQ3YjhhOGJhZDYyZl8xMDk5NTExNjMyMzIx_fae21cf5-adc2-4e79-8f56-2bc9b203a447"
      unitRef="number">0.099</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <tndm:DebtIssuanceCostsNetEquityComponent
      contextRef="iee0b46805dcf4ba2b056ed89d983da6d_I20200531"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGV4dHJlZ2lvbjo5OTI5OWVjMTk0OWM0ODBmOWMyNWQ3YjhhOGJhZDYyZl8xMDk5NTExNjMyMzYx_e880abc3-edd6-492c-824b-f97d2dc6737d"
      unitRef="usd">2700000</tndm:DebtIssuanceCostsNetEquityComponent>
    <tndm:DebtIssuanceCostsNetLiabilityComponent
      contextRef="iee0b46805dcf4ba2b056ed89d983da6d_I20200531"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGV4dHJlZ2lvbjo5OTI5OWVjMTk0OWM0ODBmOWMyNWQ3YjhhOGJhZDYyZl8xMDk5NTExNjMyNDUz_8bb10ed4-f07b-4ece-a877-95457e7f7a54"
      unitRef="usd">6100000</tndm:DebtIssuanceCostsNetLiabilityComponent>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="id4a16a7ddac24935b1b582ac9d96b310_I20210101"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGV4dHJlZ2lvbjo5OTI5OWVjMTk0OWM0ODBmOWMyNWQ3YjhhOGJhZDYyZl8xMDk5NTExNjMzMzEy_5e5254c4-3c8c-4fdc-b7ed-f7856d397516"
      unitRef="usd">9000000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AdditionalPaidInCapital
      contextRef="id4a16a7ddac24935b1b582ac9d96b310_I20210101"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGV4dHJlZ2lvbjo5OTI5OWVjMTk0OWM0ODBmOWMyNWQ3YjhhOGJhZDYyZl8xMDk5NTExNjMzMzYx_4b3c1e30-381f-4b5e-aa21-079cbd75a0f8"
      unitRef="usd">-85800000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:ConvertibleDebtNoncurrent
      contextRef="id4a16a7ddac24935b1b582ac9d96b310_I20210101"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGV4dHJlZ2lvbjo5OTI5OWVjMTk0OWM0ODBmOWMyNWQ3YjhhOGJhZDYyZl8xMDk5NTExNjMzNDMw_13ecf0ec-74d6-4774-81fd-83382febdd48"
      unitRef="usd">76800000</us-gaap:ConvertibleDebtNoncurrent>
    <us-gaap:ConvertibleDebtTableTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGV4dHJlZ2lvbjo5OTI5OWVjMTk0OWM0ODBmOWMyNWQ3YjhhOGJhZDYyZl80Mzk4MDQ2NTI0MTY4_503d7520-e5b3-4ea7-8265-23677ba21413">&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The liability and equity components of the Notes consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&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:64.104%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.005%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.007%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Liability:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Principal amount&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;287,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;287,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unamortized debt issuance costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cff0fc;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,033)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,446)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unamortized debt discount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&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:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(79,070)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net carrying amount&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;281,467&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;202,984&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:top"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Carrying amount of the equity component&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,803&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ConvertibleDebtTableTextBlock>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i693906f263f447eb9f7f81488d320013_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGFibGU6YWVhYTljMzAxNTk3NDM2ZWEzODg4N2RjZjUwMGYzYzkvdGFibGVyYW5nZTphZWFhOWMzMDE1OTc0MzZlYTM4ODg3ZGNmNTAwZjNjOV8yLTEtMS0xLTYxNDM0_e69ebd83-ecb0-49ab-9c84-fea4ccb6570a"
      unitRef="usd">287500000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="id48a300342f64702ab63cd5199dadf97_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGFibGU6YWVhYTljMzAxNTk3NDM2ZWEzODg4N2RjZjUwMGYzYzkvdGFibGVyYW5nZTphZWFhOWMzMDE1OTc0MzZlYTM4ODg3ZGNmNTAwZjNjOV8yLTMtMS0xLTYyMTU5_b0de8c78-f269-4a3a-bf42-7fa3358a7416"
      unitRef="usd">287500000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="i693906f263f447eb9f7f81488d320013_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGFibGU6YWVhYTljMzAxNTk3NDM2ZWEzODg4N2RjZjUwMGYzYzkvdGFibGVyYW5nZTphZWFhOWMzMDE1OTc0MzZlYTM4ODg3ZGNmNTAwZjNjOV8zLTEtMS0xLTYxNDM0_0ca7a7aa-30b1-4771-8ee6-c3f0d5a8ae96"
      unitRef="usd">6033000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="id48a300342f64702ab63cd5199dadf97_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGFibGU6YWVhYTljMzAxNTk3NDM2ZWEzODg4N2RjZjUwMGYzYzkvdGFibGVyYW5nZTphZWFhOWMzMDE1OTc0MzZlYTM4ODg3ZGNmNTAwZjNjOV8zLTMtMS0xLTYyMTU5_3d25b5bf-599d-4b0f-bc30-cb9639fef89a"
      unitRef="usd">5446000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:DebtInstrumentUnamortizedDiscount
      contextRef="i693906f263f447eb9f7f81488d320013_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGFibGU6YWVhYTljMzAxNTk3NDM2ZWEzODg4N2RjZjUwMGYzYzkvdGFibGVyYW5nZTphZWFhOWMzMDE1OTc0MzZlYTM4ODg3ZGNmNTAwZjNjOV80LTEtMS0xLTY0Mzc4_081a4e89-1895-45e4-b9d0-baf4f4f07487"
      unitRef="usd">0</us-gaap:DebtInstrumentUnamortizedDiscount>
    <us-gaap:DebtInstrumentUnamortizedDiscount
      contextRef="id48a300342f64702ab63cd5199dadf97_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGFibGU6YWVhYTljMzAxNTk3NDM2ZWEzODg4N2RjZjUwMGYzYzkvdGFibGVyYW5nZTphZWFhOWMzMDE1OTc0MzZlYTM4ODg3ZGNmNTAwZjNjOV80LTMtMS0xLTY0Mzc4_4b971742-579f-4655-9aeb-60c819d06014"
      unitRef="usd">79070000</us-gaap:DebtInstrumentUnamortizedDiscount>
    <us-gaap:LongTermDebt
      contextRef="i693906f263f447eb9f7f81488d320013_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGFibGU6YWVhYTljMzAxNTk3NDM2ZWEzODg4N2RjZjUwMGYzYzkvdGFibGVyYW5nZTphZWFhOWMzMDE1OTc0MzZlYTM4ODg3ZGNmNTAwZjNjOV80LTEtMS0xLTYyMTU2_9174ce85-5dae-4ef6-a8b5-45ad48e44c85"
      unitRef="usd">281467000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt
      contextRef="id48a300342f64702ab63cd5199dadf97_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGFibGU6YWVhYTljMzAxNTk3NDM2ZWEzODg4N2RjZjUwMGYzYzkvdGFibGVyYW5nZTphZWFhOWMzMDE1OTc0MzZlYTM4ODg3ZGNmNTAwZjNjOV80LTMtMS0xLTYyMTU5_a7d746e5-d3da-4731-9e84-52d8f1e0420f"
      unitRef="usd">202984000</us-gaap:LongTermDebt>
    <us-gaap:DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent
      contextRef="id48a300342f64702ab63cd5199dadf97_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGFibGU6YWVhYTljMzAxNTk3NDM2ZWEzODg4N2RjZjUwMGYzYzkvdGFibGVyYW5nZTphZWFhOWMzMDE1OTc0MzZlYTM4ODg3ZGNmNTAwZjNjOV81LTMtMS0xLTYxNDM0_c0364f32-a9fa-49e5-ad15-c2d6f7fcd30f"
      unitRef="usd">85803000</us-gaap:DebtInstrumentConvertibleCarryingAmountOfTheEquityComponent>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="i693906f263f447eb9f7f81488d320013_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGV4dHJlZ2lvbjo5OTI5OWVjMTk0OWM0ODBmOWMyNWQ3YjhhOGJhZDYyZl8yODU4NzMwMjMzNTU0OQ_005b7d39-9834-484f-8364-36f88c6daa3a"
      unitRef="usd">6000000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i693906f263f447eb9f7f81488d320013_I20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGV4dHJlZ2lvbjo5OTI5OWVjMTk0OWM0ODBmOWMyNWQ3YjhhOGJhZDYyZl8xMDk5NTExNjMzODk0_3e622441-5c64-4828-8880-b87be82acd68"
      unitRef="number">0.022</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <tndm:DebtInstrumentRemainingTerm
      contextRef="i2cb807e6b68049ab959fcbc7ca2dee59_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGV4dHJlZ2lvbjo5OTI5OWVjMTk0OWM0ODBmOWMyNWQ3YjhhOGJhZDYyZl8xMDk5NTExNjMzOTQx_4c1d6497-77b5-4ea8-91a7-6c683c3ac21f">P3Y3M18D</tndm:DebtInstrumentRemainingTerm>
    <us-gaap:InterestIncomeAndInterestExpenseDisclosureTableTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGV4dHJlZ2lvbjo5OTI5OWVjMTk0OWM0ODBmOWMyNWQ3YjhhOGJhZDYyZl80Mzk4MDQ2NTI0MTY5_877db34b-991e-48a5-94c2-c5a5c968bf21">&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table details interest expense recognized related to the Notes for the years ended December&#160;31, 2021 and 2020 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.426%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.344%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.346%"/&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 style="height:14pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contractual interest expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,313&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,707&#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;td colspan="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of debt issuance costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,727&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of debt discount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;N/A&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,446&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total interest 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,040&#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&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,805&#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;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:InterestIncomeAndInterestExpenseDisclosureTableTextBlock>
    <us-gaap:InterestExpenseDebtExcludingAmortization
      contextRef="i2cb807e6b68049ab959fcbc7ca2dee59_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGFibGU6Y2FhMTEwMWUwNzViNGFkZjkyYjVjNTFhOWQ2NWNjOTEvdGFibGVyYW5nZTpjYWExMTAxZTA3NWI0YWRmOTJiNWM1MWE5ZDY1Y2M5MV8yLTEtMS0xLTYxNDM0_e4775746-2321-40c4-a816-aeb7c053d39d"
      unitRef="usd">4313000</us-gaap:InterestExpenseDebtExcludingAmortization>
    <us-gaap:InterestExpenseDebtExcludingAmortization
      contextRef="i5523fbff9bb34669b0a34fde4d749c87_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGFibGU6Y2FhMTEwMWUwNzViNGFkZjkyYjVjNTFhOWQ2NWNjOTEvdGFibGVyYW5nZTpjYWExMTAxZTA3NWI0YWRmOTJiNWM1MWE5ZDY1Y2M5MV8yLTMtMS0xLTYxNDM0_b46fd8b4-7c25-4167-b77f-a97af17b70f3"
      unitRef="usd">2707000</us-gaap:InterestExpenseDebtExcludingAmortization>
    <us-gaap:AmortizationOfDebtDiscountPremium
      contextRef="i2cb807e6b68049ab959fcbc7ca2dee59_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGFibGU6Y2FhMTEwMWUwNzViNGFkZjkyYjVjNTFhOWQ2NWNjOTEvdGFibGVyYW5nZTpjYWExMTAxZTA3NWI0YWRmOTJiNWM1MWE5ZDY1Y2M5MV8zLTEtMS0xLTYxNDM0_f5f8e5ab-a45c-4916-9174-f7ea74d0681d"
      unitRef="usd">1727000</us-gaap:AmortizationOfDebtDiscountPremium>
    <us-gaap:AmortizationOfDebtDiscountPremium
      contextRef="i5523fbff9bb34669b0a34fde4d749c87_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGFibGU6Y2FhMTEwMWUwNzViNGFkZjkyYjVjNTFhOWQ2NWNjOTEvdGFibGVyYW5nZTpjYWExMTAxZTA3NWI0YWRmOTJiNWM1MWE5ZDY1Y2M5MV8zLTMtMS0xLTYxNDM0_0be12bfb-f573-464d-bad8-7aabdba5ca18"
      unitRef="usd">652000</us-gaap:AmortizationOfDebtDiscountPremium>
    <us-gaap:AmortizationOfFinancingCosts
      contextRef="i5523fbff9bb34669b0a34fde4d749c87_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGFibGU6Y2FhMTEwMWUwNzViNGFkZjkyYjVjNTFhOWQ2NWNjOTEvdGFibGVyYW5nZTpjYWExMTAxZTA3NWI0YWRmOTJiNWM1MWE5ZDY1Y2M5MV80LTMtMS0xLTYxNDM0_29b9ead9-5b6a-4155-bf9d-3b4d2c475afc"
      unitRef="usd">9446000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:InterestExpenseDebt
      contextRef="i2cb807e6b68049ab959fcbc7ca2dee59_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGFibGU6Y2FhMTEwMWUwNzViNGFkZjkyYjVjNTFhOWQ2NWNjOTEvdGFibGVyYW5nZTpjYWExMTAxZTA3NWI0YWRmOTJiNWM1MWE5ZDY1Y2M5MV81LTEtMS0xLTYyMTM4_c93c908f-a707-42fa-8ebe-85206168922c"
      unitRef="usd">6040000</us-gaap:InterestExpenseDebt>
    <us-gaap:InterestExpenseDebt
      contextRef="ic993c1c4aebe4c5baa5403723faaf2e7_D20211001-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGFibGU6Y2FhMTEwMWUwNzViNGFkZjkyYjVjNTFhOWQ2NWNjOTEvdGFibGVyYW5nZTpjYWExMTAxZTA3NWI0YWRmOTJiNWM1MWE5ZDY1Y2M5MV81LTItMS0xLTYyMTM4_3a478220-ead7-4d1c-93e7-70198c4edeb2"
      unitRef="usd"
      xsi:nil="true"/>
    <us-gaap:InterestExpenseDebt
      contextRef="i5523fbff9bb34669b0a34fde4d749c87_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGFibGU6Y2FhMTEwMWUwNzViNGFkZjkyYjVjNTFhOWQ2NWNjOTEvdGFibGVyYW5nZTpjYWExMTAxZTA3NWI0YWRmOTJiNWM1MWE5ZDY1Y2M5MV81LTMtMS0xLTYyMTM4_d0e507d8-f3a1-4d71-8230-77ca1832b9a4"
      unitRef="usd">12805000</us-gaap:InterestExpenseDebt>
    <us-gaap:DebtInstrumentConvertibleConversionPrice1
      contextRef="i6a5c9e7efc104b01bc03933f8c66203a_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGV4dHJlZ2lvbjo5OTI5OWVjMTk0OWM0ODBmOWMyNWQ3YjhhOGJhZDYyZl8xMDk5NTExNjM0MjQ1_1b1d4eba-ebc2-4a51-bd96-bcfe233d38d8"
      unitRef="usdPerShare">112.57</us-gaap:DebtInstrumentConvertibleConversionPrice1>
    <us-gaap:DebtConversionConvertedInstrumentAmount1
      contextRef="i2cb807e6b68049ab959fcbc7ca2dee59_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTYxL2ZyYWc6OTkyOTllYzE5NDljNDgwZjljMjVkN2I4YThiYWQ2MmYvdGV4dHJlZ2lvbjo5OTI5OWVjMTk0OWM0ODBmOWMyNWQ3YjhhOGJhZDYyZl8xMDk5NTExNjQxMDkz_33ef482a-0903-4cf8-a533-462cd914a8e0"
      unitRef="usd">96900000</us-gaap:DebtConversionConvertedInstrumentAmount1>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebtSubsequentAdjustments
      contextRef="ic7ebbdecda8a4ef88bca8da80797f3ab_D20200501-20200531"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTU0L2ZyYWc6OGZlMTc4ZjRhMDhkNDQyZTk1ZmYwZjkyYWZlZDM5MjgvdGV4dHJlZ2lvbjo4ZmUxNzhmNGEwOGQ0NDJlOTVmZjBmOTJhZmVkMzkyOF8xMDk5NTExNjI3OTQ4_0978b529-ebdd-4176-bf26-0fcf0d6c61e8"
      unitRef="usd">34100000</us-gaap:AdjustmentsToAdditionalPaidInCapitalEquityComponentOfConvertibleDebtSubsequentAdjustments>
    <us-gaap:DebtInstrumentConvertibleConversionPrice1
      contextRef="i731bcf999e5545b289410f478e862a46_I20200531"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTU0L2ZyYWc6OGZlMTc4ZjRhMDhkNDQyZTk1ZmYwZjkyYWZlZDM5MjgvdGV4dHJlZ2lvbjo4ZmUxNzhmNGEwOGQ0NDJlOTVmZjBmOTJhZmVkMzkyOF8xMDk5NTExNjI4MDk2_2812ce3d-2764-4c1b-8f4a-54c1a72fc2cc"
      unitRef="usdPerShare">112.57</us-gaap:DebtInstrumentConvertibleConversionPrice1>
    <us-gaap:DebtInstrumentConvertibleConversionPrice1
      contextRef="if59be7a9d92545f88dd5de47ce2d650d_I20200531"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTU0L2ZyYWc6OGZlMTc4ZjRhMDhkNDQyZTk1ZmYwZjkyYWZlZDM5MjgvdGV4dHJlZ2lvbjo4ZmUxNzhmNGEwOGQ0NDJlOTVmZjBmOTJhZmVkMzkyOF8xMDk5NTExNjI4MTI5_21430000-bef4-4853-b54b-91ea2b0db206"
      unitRef="usdPerShare">173.18</us-gaap:DebtInstrumentConvertibleConversionPrice1>
    <tndm:OptionIndexedToIssuersEquityCapPrice
      contextRef="ic7ebbdecda8a4ef88bca8da80797f3ab_D20200501-20200531"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTU0L2ZyYWc6OGZlMTc4ZjRhMDhkNDQyZTk1ZmYwZjkyYWZlZDM5MjgvdGV4dHJlZ2lvbjo4ZmUxNzhmNGEwOGQ0NDJlOTVmZjBmOTJhZmVkMzkyOF8xMDk5NTExNjI4NDE0_673a05ad-3318-470b-9783-3e8f2af655f5"
      unitRef="usdPerShare">173.18</tndm:OptionIndexedToIssuersEquityCapPrice>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="ic7ebbdecda8a4ef88bca8da80797f3ab_D20200501-20200531"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTU0L2ZyYWc6OGZlMTc4ZjRhMDhkNDQyZTk1ZmYwZjkyYWZlZDM5MjgvdGV4dHJlZ2lvbjo4ZmUxNzhmNGEwOGQ0NDJlOTVmZjBmOTJhZmVkMzkyOF80OTQ3ODAyMzI4MTY4_963f8864-5f52-4274-a571-eb440357e9b2"
      unitRef="number">1</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <us-gaap:SaleOfStockPricePerShare
      contextRef="if74128e6b6f648739c79be9a48a0b375_I20200512"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xOTU0L2ZyYWc6OGZlMTc4ZjRhMDhkNDQyZTk1ZmYwZjkyYWZlZDM5MjgvdGV4dHJlZ2lvbjo4ZmUxNzhmNGEwOGQ0NDJlOTVmZjBmOTJhZmVkMzkyOF8xMDk5NTExNjI4NTI4_732870d8-7d60-444a-be77-32c34fe0b2a3"
      unitRef="usdPerShare">86.59</us-gaap:SaleOfStockPricePerShare>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2Xzg0NzM_012d5d39-f8df-4a6d-9c83-82edca11d3bf">Stockholders&#x2019; Equity&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Shares Reserved for Future Issuance&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following shares of the Company's common stock were reserved for future issuance at December&#160;31, 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:87.186%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.614%"/&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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Shares reserved for issuance upon conversion of Convertible Senior Notes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,554&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Shares underlying outstanding warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;215&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Shares underlying outstanding stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,814&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Shares underlying unvested restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;612&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Shares authorized for issuance pursuant to awards granted under the ESPP&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,216&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Shares authorized for future equity award grants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,382&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,793&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Common Stock Warrants&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Warrants outstanding to purchase shares of the Company's common stock as of December&#160;31, 2021 were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&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:43.636%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.034%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.034%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:27.706%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Issue Date&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Exercise Price Per Share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Warrants Outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Expiration Date of Warrants Outstanding&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;October 2017&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$3.50&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;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="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;October 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;March 2017&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$23.50&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;193,788&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;March 2027&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;August 2011 - August 2012&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$73.73&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,722&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;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="background-color:#cff0fc;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;May 2022 - August 2022&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;214,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 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="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Each warrant allows the holder to purchase one share of the Company's common stock at the exercise price per share of the respective warrant. The Company issued 155,517 and 295,526 shares of its common stock upon the exercise of warrants during the years ended December&#160;31, 2021 and 2020, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock Plans&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s Amended and Restated 2013 Stock Incentive Plan (2013 Plan) was originally approved by the Company&#x2019;s board of directors in October&#160;2013. Under the 2013 Plan, the Company may grant stock options, stock appreciation rights, restricted stock and restricted stock units to individuals who are then employees, officers, directors or consultants of the Company. In June 2019, the Company received approval from its stockholders to increase the number of shares of its common stock reserved for issuance under the 2013 Plan by an additional 5,000,000 shares.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company issued 1,128,791 and 2,339,467 shares of its common stock, respectively, upon the exercise of stock options during the years ended December&#160;31, 2021 and 2020. During the years ended December&#160;31, 2021 and 2020, the Company issued 38,156 and 1,892 shares of its common stock, respectively, upon the vesting of RSUs.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Common Stock Options&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The maximum term of stock options granted under the 2006 Plan and 2013 Plan is ten years. Common stock options have an exercise price equal to the closing price of the Company's common stock on the applicable award date, and generally vest over a four year period as to 25% of the underlying shares on the first anniversary of the award, with the balance of the options vesting monthly over the following three years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes stock option activities for the 2006 Plan and 2013 Plan:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:49.779%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.632%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Total&lt;br/&gt;Options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Exercise&lt;br/&gt;Price Per&lt;br/&gt;Share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Remaining Contractual&lt;br/&gt;Life (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Aggregate&lt;br/&gt;Intrinsic&lt;br/&gt;Value (in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,174,927&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38.40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.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;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;181,408&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,130,040&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;83.55&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,339,467)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24.69&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;161,688&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Canceled/forfeited/expired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(161,995)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27.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;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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,516&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,803,505&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52.08&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;268,649&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;355,008&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86.68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,128,791)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37.05&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86,149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Canceled/forfeited/expired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(215,372)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;76.29&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,963&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,814,350&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57.08&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.07&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;452,081&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested and expected to vest at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,769,317&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56.95&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.06&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;448,460&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercisable at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,013,030&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49.28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.50&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;307,235&#160;&lt;/span&gt;&lt;/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:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Restricted Stock Units&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Restricted stock units (RSUs) have a grant price equal to the closing price of the Company&#x2019;s common stock on the award date, and generally vest over a four year period based only on service as to 25% of the underlying shares on the first anniversary of the award, with the balance of the RSUs vesting quarterly over the following three years. In addition, the Company granted 25,674 performance-based RSUs during the year ended December 31, 2021. The performance-based RSUs have a grant value equal to the closing price of the Company&#x2019;s common stock on the award date, and vest upon the Company&#x2019;s actual performance relative to predefined performance metrics and subject to the awardee&#x2019;s continuing service through the December 31, 2024 measurement date. A summary of RSU activity for the years ended December&#160;31, 2021 and 2020 is as follows:&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:45.098%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.443%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.443%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.448%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Total RSUs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted-Average Grant Date 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Aggregate Intrinsic Value&lt;br/&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested awards outstanding at December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;134,694&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82.82&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,892)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;95.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="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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested awards outstanding at December 31, 2020&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;132,802&#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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82.82&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,706&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;564,034&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96.37&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(53,957)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82.74&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Canceled/forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(30,705)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;87.21&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested awards outstanding at December&#160;31, 2021&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;612,174&#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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;95.11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;92,144&#160;&lt;/span&gt;&lt;/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:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Employee Stock Purchase Plan&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In October 2013, the Company adopted the ESPP, which enables eligible employees to purchase shares of the Company&#x2019;s common stock using their after-tax payroll deductions, subject to certain conditions. The ESPP is intended to qualify as an &#x201c;employee stock purchase plan&#x201d; within the meaning of Section&#160;423 of the Code. Eligible employees may contribute, through payroll deductions, up to 15% of their earnings for the purchase of common stock under the ESPP. The purchase price of common stock under the ESPP is the lesser of: (a)&#160;85% of the fair market value of a share of the Company&#x2019;s common stock on the first date of an offering or (b)&#160;85% of the fair market value of a share of the Company&#x2019;s common stock on the date of purchase. Generally, the ESPP consists of a two-year offering period with four six-month purchase periods.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the years ended December&#160;31, 2021 and 2020, 172,694 shares and 302,509 shares of our common stock, respectively, were purchased under the ESPP for proceeds of $11.1 million and $9.1 million, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock-Based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the allocation of stock-based compensation expense included in the consolidated statements of operations for all stock-based compensation arrangements (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.243%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.631%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,434&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,210&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,415&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling, general &amp;amp; administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,567&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,563&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,857&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research and development&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,751&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,658&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,799&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total stock-based compensation expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60,752&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,431&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,071&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The total stock-based compensation capitalized as part of the cost of the Company&#x2019;s inventories was $1.0 million and $0.6 million at December&#160;31, 2021 and 2020, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December&#160;31, 2021, the total unamortized stock-based compensation expense of approximately $129.2 million will be recognized over the remaining weighted average vesting term of approximately 2.6 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The assumptions used in the Black-Scholes option-pricing model are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.243%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.631%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Stock Options&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average grant date fair value (per share)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56.89&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54.20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39.06&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected dividend yield&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;75.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;74.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.600%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;ESPP&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average grant date fair value (per share)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38.19&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;36.83&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.32&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected dividend yield&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.3&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Risk-free Interest Rate&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;. The risk-free interest rate assumption was based on the United States Treasury&#x2019;s rates for U.S.&#160;Treasury zero-coupon bonds with maturities similar to those of the expected term of the award being valued.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Expected Dividend Yield&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;. The expected dividend yield is zero because the Company has never declared or paid any cash dividends and does not presently plan to pay cash dividends in the foreseeable future.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Expected Volatility&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;. The expected volatility for 2021 was estimated based&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;on a weighted-average of the Company&#x2019;s actual historical volatility of its common stock measured over the expected term. During 2020, the Company transitioned to solely using the expected volatility of its own common stock. Prior to this transition, the expected volatility was estimated based&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;on a weighted-average of the Company&#x2019;s actual historical volatility since its initial public offering in November 2013, and the historical stock volatilities of a peer group of similar companies whose share prices were publicly available. The peer group consisted of publicly traded companies in the same industry and in a similar stage of development.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Expected Term&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;. The Company utilized the simplified method for estimating the expected term of stock option grants. Under this approach, the weighted-average expected term is presumed to be the average of the vesting term and the contractual term of the option. The Company estimates the expected term of the ESPP using expected life for each tranche during the two-year offering period.&lt;/span&gt;&lt;/div&gt;The Company also estimates forfeitures at the time of grant, and revises those estimates in subsequent periods if actual forfeitures differ from its estimates. Historical data was used to estimate pre-vesting option forfeitures and record stock-based compensation expense only for those awards that are expected to vest.</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <tndm:ScheduleOfCommonStockReservedForFutureIssuanceTableTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2Xzg0NzI_229583ad-759f-477e-9138-5972986d7c4f">&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following shares of the Company's common stock were reserved for future issuance at December&#160;31, 2021 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:87.186%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.614%"/&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:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Shares reserved for issuance upon conversion of Convertible Senior Notes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,554&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Shares underlying outstanding warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;215&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Shares underlying outstanding stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,814&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Shares underlying unvested restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;612&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Shares authorized for issuance pursuant to awards granted under the ESPP&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,216&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Shares authorized for future equity award grants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,382&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,793&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:middle"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</tndm:ScheduleOfCommonStockReservedForFutureIssuanceTableTextBlock>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="i7d4f3970610a4e91928e18b210915d37_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTpmNzcyOGYyZmM4NDA0NTdlODkzZjU2OTZhOGNiYjQ4YS90YWJsZXJhbmdlOmY3NzI4ZjJmYzg0MDQ1N2U4OTNmNTY5NmE4Y2JiNDhhXzAtMS0xLTEtNTM4MzA_3e0f52ec-f6f6-4a49-bfdd-26eec7588420"
      unitRef="shares">2554000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="i9c0f74a89f604867b3b3a468bec183f5_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTpmNzcyOGYyZmM4NDA0NTdlODkzZjU2OTZhOGNiYjQ4YS90YWJsZXJhbmdlOmY3NzI4ZjJmYzg0MDQ1N2U4OTNmNTY5NmE4Y2JiNDhhXzEtMS0xLTEtNTM4MzA_abd81f0b-5d6e-4d14-a1c2-c7d25ce9fcbe"
      unitRef="shares">215000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="i5f0336aa95664a2abb85dc9ea1fed964_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTpmNzcyOGYyZmM4NDA0NTdlODkzZjU2OTZhOGNiYjQ4YS90YWJsZXJhbmdlOmY3NzI4ZjJmYzg0MDQ1N2U4OTNmNTY5NmE4Y2JiNDhhXzItMS0xLTEtNTM4MzA_34879dcc-56ee-49e2-b725-e77bd0c21c41"
      unitRef="shares">4814000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="i49dfd743b55f4b8f956e8093ae9da92e_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTpmNzcyOGYyZmM4NDA0NTdlODkzZjU2OTZhOGNiYjQ4YS90YWJsZXJhbmdlOmY3NzI4ZjJmYzg0MDQ1N2U4OTNmNTY5NmE4Y2JiNDhhXzMtMS0xLTEtNTM4MzA_cec592d3-99ce-4f25-8e17-70ec4e729434"
      unitRef="shares">612000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="i2236fdb9af5c4bcfac6b73b4d9704e05_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTpmNzcyOGYyZmM4NDA0NTdlODkzZjU2OTZhOGNiYjQ4YS90YWJsZXJhbmdlOmY3NzI4ZjJmYzg0MDQ1N2U4OTNmNTY5NmE4Y2JiNDhhXzQtMS0xLTEtNTM4MzA_c7ba21f5-bafe-4ba3-bef1-57d05fbec3bf"
      unitRef="shares">1216000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="i1679548049cc4d9d8de09ac622fcfd75_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTpmNzcyOGYyZmM4NDA0NTdlODkzZjU2OTZhOGNiYjQ4YS90YWJsZXJhbmdlOmY3NzI4ZjJmYzg0MDQ1N2U4OTNmNTY5NmE4Y2JiNDhhXzUtMS0xLTEtNTM4MzA_6771e3ad-b2d3-4ec0-a539-2f3630c023f1"
      unitRef="shares">1382000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:CommonStockCapitalSharesReservedForFutureIssuance
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTpmNzcyOGYyZmM4NDA0NTdlODkzZjU2OTZhOGNiYjQ4YS90YWJsZXJhbmdlOmY3NzI4ZjJmYzg0MDQ1N2U4OTNmNTY5NmE4Y2JiNDhhXzYtMS0xLTEtNTM4MzA_606f3130-ef35-4338-9b12-88d1b8ff26b3"
      unitRef="shares">10793000</us-gaap:CommonStockCapitalSharesReservedForFutureIssuance>
    <us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2Xzg0Nzk_04bf72fd-9895-47ad-86b5-cdc44d6e7754">&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Warrants outstanding to purchase shares of the Company's common stock as of December&#160;31, 2021 were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&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:43.636%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.034%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.034%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:27.706%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Issue Date&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Exercise Price Per Share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Warrants Outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Expiration Date of Warrants Outstanding&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;October 2017&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$3.50&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;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="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;October 2022&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;March 2017&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$23.50&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;193,788&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;March 2027&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;August 2011 - August 2012&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$73.73&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,722&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;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="background-color:#cff0fc;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;May 2022 - August 2022&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 colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;214,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 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="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfStockholdersEquityNoteWarrantsOrRightsTextBlock>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="ie372881c9b5c41dfa02948e984ae1267_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTpmZmYxNTA4MzMxNGI0YjIxOTQ1YjM2ZTNkOTc4ODlhZi90YWJsZXJhbmdlOmZmZjE1MDgzMzE0YjRiMjE5NDViMzZlM2Q5Nzg4OWFmXzEtMi0xLTEtNTM4MzA_92596501-dbf4-41e8-8e4a-6d3e7b1a88b3"
      unitRef="usdPerShare">3.50</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:ClassOfWarrantOrRightOutstanding
      contextRef="ie372881c9b5c41dfa02948e984ae1267_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTpmZmYxNTA4MzMxNGI0YjIxOTQ1YjM2ZTNkOTc4ODlhZi90YWJsZXJhbmdlOmZmZjE1MDgzMzE0YjRiMjE5NDViMzZlM2Q5Nzg4OWFmXzEtNC0xLTEtNTM4MzA_c844f1ba-1c62-40ba-9071-c56309f68560"
      unitRef="shares">1000</us-gaap:ClassOfWarrantOrRightOutstanding>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i57874bf24ea84df4959a5fc3b14cafd4_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTpmZmYxNTA4MzMxNGI0YjIxOTQ1YjM2ZTNkOTc4ODlhZi90YWJsZXJhbmdlOmZmZjE1MDgzMzE0YjRiMjE5NDViMzZlM2Q5Nzg4OWFmXzItMi0xLTEtNTM4MzA_c1d0fd78-90f8-4b70-b795-eb6ae6fed8f4"
      unitRef="usdPerShare">23.50</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:ClassOfWarrantOrRightOutstanding
      contextRef="i57874bf24ea84df4959a5fc3b14cafd4_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTpmZmYxNTA4MzMxNGI0YjIxOTQ1YjM2ZTNkOTc4ODlhZi90YWJsZXJhbmdlOmZmZjE1MDgzMzE0YjRiMjE5NDViMzZlM2Q5Nzg4OWFmXzItNC0xLTEtNTM4MzA_f9dcdba0-91b0-4c9a-8f74-83e833fd679e"
      unitRef="shares">193788</us-gaap:ClassOfWarrantOrRightOutstanding>
    <us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1
      contextRef="i1fede682302744c687f5a127053532ca_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTpmZmYxNTA4MzMxNGI0YjIxOTQ1YjM2ZTNkOTc4ODlhZi90YWJsZXJhbmdlOmZmZjE1MDgzMzE0YjRiMjE5NDViMzZlM2Q5Nzg4OWFmXzMtMi0xLTEtNTM4MzA_46517c65-bfef-4dad-a9ec-3021b266fd37"
      unitRef="usdPerShare">73.73</us-gaap:ClassOfWarrantOrRightExercisePriceOfWarrantsOrRights1>
    <us-gaap:ClassOfWarrantOrRightOutstanding
      contextRef="i1fede682302744c687f5a127053532ca_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTpmZmYxNTA4MzMxNGI0YjIxOTQ1YjM2ZTNkOTc4ODlhZi90YWJsZXJhbmdlOmZmZjE1MDgzMzE0YjRiMjE5NDViMzZlM2Q5Nzg4OWFmXzMtNC0xLTEtNTM4MzA_da3736a6-bf65-4a43-bfec-f2abb6ccbcd2"
      unitRef="shares">19722</us-gaap:ClassOfWarrantOrRightOutstanding>
    <us-gaap:ClassOfWarrantOrRightOutstanding
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTpmZmYxNTA4MzMxNGI0YjIxOTQ1YjM2ZTNkOTc4ODlhZi90YWJsZXJhbmdlOmZmZjE1MDgzMzE0YjRiMjE5NDViMzZlM2Q5Nzg4OWFmXzQtNC0xLTEtNTM4MzA_884b4cfe-6b9b-4dd9-8984-fd24929a538f"
      unitRef="shares">214510</us-gaap:ClassOfWarrantOrRightOutstanding>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByEachWarrantOrRight
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2Xzk3OQ_498fd44c-3d32-4b53-a610-1e4176061ccc"
      unitRef="shares">1</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByEachWarrantOrRight>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="i3d85242042ae434d9c6e80ae80635ab8_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2XzEwOTY_56742877-8c8c-49c9-84f5-6abef795be25"
      unitRef="shares">155517</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights
      contextRef="i89790acbdb1a455d9fb08c021e373e56_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2XzExMDM_5415ac93-3af9-42f1-a64b-7066b8300fe1"
      unitRef="shares">295526</us-gaap:ClassOfWarrantOrRightNumberOfSecuritiesCalledByWarrantsOrRights>
    <us-gaap:DeferredCompensationArrangementWithIndividualSharesAuthorizedForIssuance
      contextRef="ib155424e104c44d7b6808e8691e19cc5_I20190630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2XzIyOTc_449579e3-1c51-4d3f-9ed8-1735a659578d"
      unitRef="shares">5000000</us-gaap:DeferredCompensationArrangementWithIndividualSharesAuthorizedForIssuance>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i1f32d8fe398e409f8655d31724f61fff_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2XzIzMjc_2627878c-c89b-458b-866b-6be2b241f054"
      unitRef="shares">1128791</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i1f98a16d9f514cf6869c9ab41e3e82d6_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2XzIzMzQ_9b7df514-1f9b-4160-be59-090e03cb9ce6"
      unitRef="shares">2339467</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod
      contextRef="ia864cc9668fc44408c0b2c3ced680d75_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2Xzc2OTY1ODE0MTI0NDI_cc9f080e-499d-4b7d-a000-d6181ce381fc"
      unitRef="shares">38156</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod
      contextRef="i0413ddc2b292499f88fe0fec760fdee9_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2XzEwOTk1MTE2NTE3MzE_ac0424b0-f0b8-4fa0-a303-a2069b9640e9"
      unitRef="shares">1892</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod
      contextRef="i1f32d8fe398e409f8655d31724f61fff_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2XzI2NTE_d27bb498-fdd9-4a88-acbe-bdff9661fbf4">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i1f32d8fe398e409f8655d31724f61fff_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2Xzg0Njg_1142c04e-81d4-419c-9079-3f82396ae04f">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i103d6943bb0d4138a3b3e5800ea7cf59_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2XzI4MzM_cf664c37-fb2e-4fda-93e6-16b7a3014d71"
      unitRef="number">0.25</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <tndm:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRemainingVestingPeriod
      contextRef="i1f32d8fe398e409f8655d31724f61fff_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2XzI5Njc_fb868c3a-0562-498c-84a4-9049a234cf51">P3Y</tndm:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRemainingVestingPeriod>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2Xzg0Njk_ade35107-8ccc-49f0-9ce4-8276fd1efdcd">&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes stock option activities for the 2006 Plan and 2013 Plan:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:49.779%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.632%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Total&lt;br/&gt;Options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Exercise&lt;br/&gt;Price Per&lt;br/&gt;Share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted-&lt;br/&gt;Average&lt;br/&gt;Remaining Contractual&lt;br/&gt;Life (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Aggregate&lt;br/&gt;Intrinsic&lt;br/&gt;Value (in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,174,927&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38.40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.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;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;181,408&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,130,040&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;83.55&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,339,467)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24.69&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;161,688&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Canceled/forfeited/expired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(161,995)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27.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;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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,516&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,803,505&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52.08&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;268,649&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;355,008&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86.68&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,128,791)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37.05&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86,149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Canceled/forfeited/expired&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(215,372)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;76.29&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,963&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,814,350&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57.08&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.07&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;452,081&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested and expected to vest at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,769,317&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56.95&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.06&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;448,460&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercisable at December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,013,030&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;49.28&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.50&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;307,235&#160;&lt;/span&gt;&lt;/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:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="ia35d79f7a8cd4f3e92d3a94270701280_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzEtMS0xLTEtNTM4MzA_c8ce255d-f176-483d-9593-ab0f511c71b7"
      unitRef="shares">7174927</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="ia35d79f7a8cd4f3e92d3a94270701280_I20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzEtMy0xLTEtNTM4MzA_786c546d-a34a-4c74-82e5-fbd99201ea0e"
      unitRef="usdPerShare">38.40</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzEtNS0xLTEtNTM4MzA_09903e9c-45dc-4ba5-af41-b20ed038c814">P8Y5M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="ia35d79f7a8cd4f3e92d3a94270701280_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzEtNy0xLTEtNTM4MzA_22949e17-856d-4531-ba77-67d8e0460510"
      unitRef="usd">181408000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzItMS0xLTEtNTM4MzA_3b577b2f-f0f0-4a61-b25f-651ac638ef97"
      unitRef="shares">1130040</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzItMy0xLTEtNTM4MzA_4468434d-4a65-4fa4-87bc-3b860c5caef4"
      unitRef="usdPerShare">83.55</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzMtMS0xLTEtNTM4MzA_c421a287-3438-45a2-b7f4-5c74ab8b4d17"
      unitRef="shares">2339467</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzMtMy0xLTEtNTM4MzA_dd1843bd-da0e-4d44-894b-8509a3e6bb0d"
      unitRef="usdPerShare">24.69</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzMtNy0xLTEtNTM4MzA_e5d91944-8577-4829-8b12-57c73d3ed4d2"
      unitRef="usd">161688000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzQtMS0xLTEtNTM4MzA_eb60a876-05e2-4766-874c-53c672bf9658"
      unitRef="shares">161995</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzQtMy0xLTEtNTM4MzA_6488cb9a-861e-4e8b-823d-754b22c2c3d9"
      unitRef="usdPerShare">27.00</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <tndm:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodAggregateIntrinsicValue
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzQtNy0xLTEtNTM4MzA_16f5a6c1-20de-466e-b8d5-3c615c3fc92e"
      unitRef="usd">4516000</tndm:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzUtMS0xLTEtNTM4MzA_9ebe8fda-1e4f-4af6-a2f1-7093a09cf6dc"
      unitRef="shares">5803505</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzUtMy0xLTEtNTM4MzA_5ff51290-637d-4512-b5f0-5dbf22918628"
      unitRef="usdPerShare">52.08</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzUtNS0xLTEtNTM4MzA_5fb86ba7-4788-4a48-9d22-3c37882ac812">P7Y10M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzUtNy0xLTEtNTM4MzA_b54ea340-de98-4005-93f8-efc7b96df0d3"
      unitRef="usd">268649000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzYtMS0xLTEtNTM4MzA_00504577-935e-45db-8671-0401455c1067"
      unitRef="shares">355008</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzYtMy0xLTEtNTM4MzA_dce00827-a186-41f8-ae5c-fc6718d436cb"
      unitRef="usdPerShare">86.68</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzctMS0xLTEtNTM4MzA_68f1e567-fa3c-4c34-8364-a597ea672207"
      unitRef="shares">1128791</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzctMy0xLTEtNTM4MzA_ff305e40-8769-49f2-9fff-01b390219c86"
      unitRef="usdPerShare">37.05</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzctNy0xLTEtNTM4MzA_845f436d-2891-4857-867a-bfd62552b887"
      unitRef="usd">86149000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzgtMS0xLTEtNTM4MzA_06ba6560-30b2-4ffe-a277-003e281f82b3"
      unitRef="shares">215372</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzgtMy0xLTEtNTM4MzA_744c807b-6f66-47c6-b9c9-a8ee913f5004"
      unitRef="usdPerShare">76.29</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <tndm:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodAggregateIntrinsicValue
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzgtNy0xLTEtNTM4MzA_693f5505-e49d-4880-b4e9-e14dd82e02e7"
      unitRef="usd">6963000</tndm:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzktMS0xLTEtNTM4MzA_7b967e27-2648-4ebc-bffc-2c4caae46c7d"
      unitRef="shares">4814350</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzktMy0xLTEtNTM4MzA_10ddd0bf-bb43-4ba3-a9f5-bb1bcc25b3a9"
      unitRef="usdPerShare">57.08</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzktNS0xLTEtNTM4MzA_66455bda-592f-49f0-ac02-a9f5d4b277a4">P7Y25D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzktNy0xLTEtNTM4MzA_9c2b5f15-7c76-4417-ac11-1ae3c6183bd8"
      unitRef="usd">452081000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzEwLTEtMS0xLTUzODMw_13a51601-2aab-4ece-ab7e-0337d3055846"
      unitRef="shares">4769317</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzEwLTMtMS0xLTUzODMw_427217e4-1340-4368-998e-e037757e519c"
      unitRef="usdPerShare">56.95</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzEwLTUtMS0xLTUzODMw_280b00d8-df7b-480c-9c5c-36cf3a61848b">P7Y21D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzEwLTctMS0xLTUzODMw_ca4c6061-2441-4b17-8284-1bac7e85876c"
      unitRef="usd">448460000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzExLTEtMS0xLTUzODMw_5a55502d-0c3a-40e3-904c-86d9926034f9"
      unitRef="shares">3013030</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzExLTMtMS0xLTUzODMw_5f4aab0f-e35b-4744-b500-c4bb3f963bc7"
      unitRef="usdPerShare">49.28</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzExLTUtMS0xLTUzODMw_cd4796f9-2355-468f-8c38-6e03118bda5f">P6Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5ZDIwNGJjODU0MDk0MWFmODE2YTBjMWY4YjEyY2RjMi90YWJsZXJhbmdlOjlkMjA0YmM4NTQwOTQxYWY4MTZhMGMxZjhiMTJjZGMyXzExLTctMS0xLTUzODMw_7e819a50-50e0-4a05-97b6-6ff7a488d56b"
      unitRef="usd">307235000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ia864cc9668fc44408c0b2c3ced680d75_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2Xzg0NjI_9515206b-6719-438f-bf6c-c32b13f36024">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage
      contextRef="i3e27e390d410435ca3065cee5ed649b6_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2XzMyNjA_be48c61e-ca1d-41ed-b5d8-6e552c7e8c92"
      unitRef="number">0.25</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="i1854c2f8fd364b7181f46b3333131c2b_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2XzMzOTM_b2c17cf5-6c17-492b-8f0b-780a7884a353">P3Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ie2803a87cffb47f79787ea218d36df6d_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2XzgyNDYzMzcyMjYzMzU_08fc6925-7a50-4d86-be1c-41efac5a51fa"
      unitRef="shares">25674</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2Xzg0NjY_a12d9e52-03a9-4fd5-87a8-9ec73c90a259">A summary of RSU activity for the years ended December&#160;31, 2021 and 2020 is as follows:&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.098%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.443%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.443%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.448%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Total RSUs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted-Average Grant Date 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:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Aggregate Intrinsic Value&lt;br/&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested awards outstanding at December 31, 2019&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;134,694&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82.82&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,892)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;95.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="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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested awards outstanding at December 31, 2020&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;132,802&#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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82.82&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,706&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;564,034&#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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;96.37&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(53,957)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82.74&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Canceled/forfeited&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(30,705)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;87.21&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested awards outstanding at December&#160;31, 2021&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;612,174&#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;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;95.11&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;92,144&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="ic9e9ea941b934a76867dacf7bb27080e_I20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo4Yzk4MjhjZmRmMTU0NWNjOWVjOGM2NmFlYzNiZjQzMy90YWJsZXJhbmdlOjhjOTgyOGNmZGYxNTQ1Y2M5ZWM4YzY2YWVjM2JmNDMzXzEtMS0xLTEtNTM4MzA_44e64c19-ebf8-4787-8000-2b26c34234f4"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="ic9e9ea941b934a76867dacf7bb27080e_I20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo4Yzk4MjhjZmRmMTU0NWNjOWVjOGM2NmFlYzNiZjQzMy90YWJsZXJhbmdlOjhjOTgyOGNmZGYxNTQ1Y2M5ZWM4YzY2YWVjM2JmNDMzXzEtMy0xLTEtNTM4MzA_7b46c01f-ac4f-4016-af33-c8c97f87b3d0"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i0413ddc2b292499f88fe0fec760fdee9_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo4Yzk4MjhjZmRmMTU0NWNjOWVjOGM2NmFlYzNiZjQzMy90YWJsZXJhbmdlOjhjOTgyOGNmZGYxNTQ1Y2M5ZWM4YzY2YWVjM2JmNDMzXzItMS0xLTEtNTM4MzA_855bd825-1f62-4153-908a-9912d87f0d70"
      unitRef="shares">134694</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i0413ddc2b292499f88fe0fec760fdee9_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo4Yzk4MjhjZmRmMTU0NWNjOWVjOGM2NmFlYzNiZjQzMy90YWJsZXJhbmdlOjhjOTgyOGNmZGYxNTQ1Y2M5ZWM4YzY2YWVjM2JmNDMzXzItMy0xLTEtNTM4MzA_4577c22c-656b-4cd3-a680-8c3d0a4023e8"
      unitRef="usdPerShare">82.82</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i0413ddc2b292499f88fe0fec760fdee9_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo4Yzk4MjhjZmRmMTU0NWNjOWVjOGM2NmFlYzNiZjQzMy90YWJsZXJhbmdlOjhjOTgyOGNmZGYxNTQ1Y2M5ZWM4YzY2YWVjM2JmNDMzXzMtMS0xLTEtNTM4MzA_8251bd2c-1878-4545-a8ba-5e83248396fc"
      unitRef="shares">1892</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i0413ddc2b292499f88fe0fec760fdee9_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo4Yzk4MjhjZmRmMTU0NWNjOWVjOGM2NmFlYzNiZjQzMy90YWJsZXJhbmdlOjhjOTgyOGNmZGYxNTQ1Y2M5ZWM4YzY2YWVjM2JmNDMzXzMtMy0xLTEtNTM4MzA_b7528995-37fc-4afe-8f72-17f836d18574"
      unitRef="usdPerShare">95.68</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="if8ccac5397484c8189b47ea5ab7848b3_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo4Yzk4MjhjZmRmMTU0NWNjOWVjOGM2NmFlYzNiZjQzMy90YWJsZXJhbmdlOjhjOTgyOGNmZGYxNTQ1Y2M5ZWM4YzY2YWVjM2JmNDMzXzQtMS0xLTEtNTM4MzA_b35abc90-9fee-4742-a1dc-6774c9484824"
      unitRef="shares">132802</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="if8ccac5397484c8189b47ea5ab7848b3_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo4Yzk4MjhjZmRmMTU0NWNjOWVjOGM2NmFlYzNiZjQzMy90YWJsZXJhbmdlOjhjOTgyOGNmZGYxNTQ1Y2M5ZWM4YzY2YWVjM2JmNDMzXzQtMy0xLTEtNTM4MzA_f4710cd3-23eb-4715-807b-7b2efd4d0014"
      unitRef="usdPerShare">82.82</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding
      contextRef="if8ccac5397484c8189b47ea5ab7848b3_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo4Yzk4MjhjZmRmMTU0NWNjOWVjOGM2NmFlYzNiZjQzMy90YWJsZXJhbmdlOjhjOTgyOGNmZGYxNTQ1Y2M5ZWM4YzY2YWVjM2JmNDMzXzQtNS0xLTEtNTM4MzA_72187fd1-c59d-4da4-adc1-a20cf60be695"
      unitRef="usd">12706000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="ia864cc9668fc44408c0b2c3ced680d75_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo4Yzk4MjhjZmRmMTU0NWNjOWVjOGM2NmFlYzNiZjQzMy90YWJsZXJhbmdlOjhjOTgyOGNmZGYxNTQ1Y2M5ZWM4YzY2YWVjM2JmNDMzXzUtMS0xLTEtNjQzMjM_d64f3495-e99b-4ed3-9066-36cacd14743d"
      unitRef="shares">564034</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="ia864cc9668fc44408c0b2c3ced680d75_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo4Yzk4MjhjZmRmMTU0NWNjOWVjOGM2NmFlYzNiZjQzMy90YWJsZXJhbmdlOjhjOTgyOGNmZGYxNTQ1Y2M5ZWM4YzY2YWVjM2JmNDMzXzUtMy0xLTEtNjQzMjM_f9a77222-56d4-48a1-9915-acad4be8184a"
      unitRef="usdPerShare">96.37</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="ia864cc9668fc44408c0b2c3ced680d75_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo4Yzk4MjhjZmRmMTU0NWNjOWVjOGM2NmFlYzNiZjQzMy90YWJsZXJhbmdlOjhjOTgyOGNmZGYxNTQ1Y2M5ZWM4YzY2YWVjM2JmNDMzXzYtMS0xLTEtNjQzMjM_e668e821-3f8c-423c-b04e-202eef2a7acc"
      unitRef="shares">53957</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="ia864cc9668fc44408c0b2c3ced680d75_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo4Yzk4MjhjZmRmMTU0NWNjOWVjOGM2NmFlYzNiZjQzMy90YWJsZXJhbmdlOjhjOTgyOGNmZGYxNTQ1Y2M5ZWM4YzY2YWVjM2JmNDMzXzYtMy0xLTEtNjQzMjM_c7eb9de6-ee96-4914-b582-f8de2e3cdf70"
      unitRef="usdPerShare">82.74</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="ia864cc9668fc44408c0b2c3ced680d75_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo4Yzk4MjhjZmRmMTU0NWNjOWVjOGM2NmFlYzNiZjQzMy90YWJsZXJhbmdlOjhjOTgyOGNmZGYxNTQ1Y2M5ZWM4YzY2YWVjM2JmNDMzXzctMS0xLTEtNjUzNjg_f5c28aa3-abf6-4784-8be5-1d2b3436461a"
      unitRef="shares">30705</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="ia864cc9668fc44408c0b2c3ced680d75_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo4Yzk4MjhjZmRmMTU0NWNjOWVjOGM2NmFlYzNiZjQzMy90YWJsZXJhbmdlOjhjOTgyOGNmZGYxNTQ1Y2M5ZWM4YzY2YWVjM2JmNDMzXzctMy0xLTEtNjUzNjg_8982197a-ebaf-473e-8e01-9b602336040b"
      unitRef="usdPerShare">87.21</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="ifac844515a1e43b988062397cc8d2c97_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo4Yzk4MjhjZmRmMTU0NWNjOWVjOGM2NmFlYzNiZjQzMy90YWJsZXJhbmdlOjhjOTgyOGNmZGYxNTQ1Y2M5ZWM4YzY2YWVjM2JmNDMzXzctMS0xLTEtNjQzMjk_7a1b6afc-7d9d-489f-88f6-868de6e5e5f1"
      unitRef="shares">612174</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="ifac844515a1e43b988062397cc8d2c97_I20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo4Yzk4MjhjZmRmMTU0NWNjOWVjOGM2NmFlYzNiZjQzMy90YWJsZXJhbmdlOjhjOTgyOGNmZGYxNTQ1Y2M5ZWM4YzY2YWVjM2JmNDMzXzctMy0xLTEtNjQzMjk_c7334c7c-24a6-43a1-9721-633bfbd4c15b"
      unitRef="usdPerShare">95.11</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding
      contextRef="ifac844515a1e43b988062397cc8d2c97_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo4Yzk4MjhjZmRmMTU0NWNjOWVjOGM2NmFlYzNiZjQzMy90YWJsZXJhbmdlOjhjOTgyOGNmZGYxNTQ1Y2M5ZWM4YzY2YWVjM2JmNDMzXzctNS0xLTEtNjQzMjk_4d42c595-6dc6-430c-8560-aadd82974671"
      unitRef="usd">92144000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueOutstanding>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate
      contextRef="i7775aa99d0fa4ca48ef2ed39721a0dbe_I20131031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2XzM4Nzk_fb4d9805-df5e-45f5-9c19-5f2d4c64c4e2"
      unitRef="number">0.15</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardMaximumEmployeeSubscriptionRate>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent
      contextRef="i53218e7ac5f047fea6435317c0bf79d8_D20131001-20131031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2XzQwMjE_4f1b3c67-d822-4833-bc7b-c3e58a16e1e4"
      unitRef="number">0.85</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent
      contextRef="iea390573a7e147e3839f269a13b4c831_D20131001-20131031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2XzQxMzA_40130088-d3bd-4eab-b65b-db673963e700"
      unitRef="number">0.85</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent>
    <tndm:OfferingPeriod
      contextRef="if6f58a6718a345c6b18d4837d80f5987_D20131001-20131031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2Xzg0NjU_4b41e619-2a75-435c-aa53-4f38660b0782">P2Y</tndm:OfferingPeriod>
    <tndm:NumberOfPurchasePeriods
      contextRef="i7775aa99d0fa4ca48ef2ed39721a0dbe_I20131031"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2XzQyODc_a5e0ba99-4aff-44f4-be42-5602b97b564b"
      unitRef="purchase_period">4</tndm:NumberOfPurchasePeriods>
    <tndm:PurchasePeriod
      contextRef="if6f58a6718a345c6b18d4837d80f5987_D20131001-20131031"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2Xzg0NzY_3ff4547b-3eca-4eba-9698-32265ea4b415">P6M</tndm:PurchasePeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesPurchasedForAward
      contextRef="ia3d7663d7ea24730a3e9d85bd7913813_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2XzQ1MDI_accd7e08-3eb7-4619-a482-0454a9b03b84"
      unitRef="shares">172694</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesPurchasedForAward>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesPurchasedForAward
      contextRef="i6658da36425f4a968900a4a607e46e91_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2XzQ1MTY_900d539c-b6fa-4636-84ef-64fbf7727c6e"
      unitRef="shares">302509</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesPurchasedForAward>
    <us-gaap:ProceedsFromStockPlans
      contextRef="ia3d7663d7ea24730a3e9d85bd7913813_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2XzQ2MDc_399cf4ce-964c-4c46-8cd9-3249a95d6d7f"
      unitRef="usd">11100000</us-gaap:ProceedsFromStockPlans>
    <us-gaap:ProceedsFromStockPlans
      contextRef="i6658da36425f4a968900a4a607e46e91_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2XzQ2MjI_4eba43e4-bce5-457a-bd9f-ff1f13aed131"
      unitRef="usd">9100000</us-gaap:ProceedsFromStockPlans>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2Xzg0Nzc_38ebdcb2-948a-4842-965b-4415530729c3">&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the allocation of stock-based compensation expense included in the consolidated statements of operations for all stock-based compensation arrangements (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.243%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.631%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,434&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,210&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,415&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling, general &amp;amp; administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,567&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,563&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,857&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research and development&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,751&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,658&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,799&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total stock-based compensation expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60,752&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,431&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,071&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i5836353a5f9d482082c349df05afc718_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5NjJhYzE2MWFhZDE0MWFhYmI4MjNiNzEwZmQ5ZGU1NC90YWJsZXJhbmdlOjk2MmFjMTYxYWFkMTQxYWFiYjgyM2I3MTBmZDlkZTU0XzItMS0xLTEtNTM4MzA_81e71aa1-2288-4275-a39a-18c9e597c72b"
      unitRef="usd">6434000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i441e3a25ffb44f919b9dd51543a9082a_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5NjJhYzE2MWFhZDE0MWFhYmI4MjNiNzEwZmQ5ZGU1NC90YWJsZXJhbmdlOjk2MmFjMTYxYWFkMTQxYWFiYjgyM2I3MTBmZDlkZTU0XzItMy0xLTEtNTM4MzA_934d878d-5fcc-4e6a-8134-0b0f304f7244"
      unitRef="usd">8210000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ie0d63b9ca9864e89840196175dd6f66f_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5NjJhYzE2MWFhZDE0MWFhYmI4MjNiNzEwZmQ5ZGU1NC90YWJsZXJhbmdlOjk2MmFjMTYxYWFkMTQxYWFiYjgyM2I3MTBmZDlkZTU0XzItNS0xLTEtNTM4MzA_a37b4c60-e729-4a47-851d-6cff4a97c76c"
      unitRef="usd">6415000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i39b9f33b90854f929e84e83ee6a24b7e_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5NjJhYzE2MWFhZDE0MWFhYmI4MjNiNzEwZmQ5ZGU1NC90YWJsZXJhbmdlOjk2MmFjMTYxYWFkMTQxYWFiYjgyM2I3MTBmZDlkZTU0XzMtMS0xLTEtNTM4MzA_8e291f8d-ebad-4d99-8158-cb66eeced22d"
      unitRef="usd">43567000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i27b9513c8aba4b3a968fb7ea8cfe404e_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5NjJhYzE2MWFhZDE0MWFhYmI4MjNiNzEwZmQ5ZGU1NC90YWJsZXJhbmdlOjk2MmFjMTYxYWFkMTQxYWFiYjgyM2I3MTBmZDlkZTU0XzMtMy0xLTEtNTM4MzA_5124e8cd-6c1c-46d8-87f5-387d9c1aa46c"
      unitRef="usd">41563000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i557e0a2e0ffa478f814850c5282c8ad9_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5NjJhYzE2MWFhZDE0MWFhYmI4MjNiNzEwZmQ5ZGU1NC90YWJsZXJhbmdlOjk2MmFjMTYxYWFkMTQxYWFiYjgyM2I3MTBmZDlkZTU0XzMtNS0xLTEtNTM4MzA_e3c01bd7-baa6-4096-9e27-c745f164b5f4"
      unitRef="usd">42857000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i5bb0415201584f28819e0b0413f69b97_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5NjJhYzE2MWFhZDE0MWFhYmI4MjNiNzEwZmQ5ZGU1NC90YWJsZXJhbmdlOjk2MmFjMTYxYWFkMTQxYWFiYjgyM2I3MTBmZDlkZTU0XzQtMS0xLTEtNTM4MzA_a4240d87-02e6-44bf-90b2-87cffee79706"
      unitRef="usd">10751000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i80be8df84e224bcaa185eeb94b4e2579_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5NjJhYzE2MWFhZDE0MWFhYmI4MjNiNzEwZmQ5ZGU1NC90YWJsZXJhbmdlOjk2MmFjMTYxYWFkMTQxYWFiYjgyM2I3MTBmZDlkZTU0XzQtMy0xLTEtNTM4MzA_fe150ef0-4371-4cc7-bc06-979ed6b541ab"
      unitRef="usd">8658000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i0d7517e6bf3a4200b6c800b1c46a076b_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5NjJhYzE2MWFhZDE0MWFhYmI4MjNiNzEwZmQ5ZGU1NC90YWJsZXJhbmdlOjk2MmFjMTYxYWFkMTQxYWFiYjgyM2I3MTBmZDlkZTU0XzQtNS0xLTEtNTM4MzA_612b24cb-706c-4891-8b7a-139951daacb3"
      unitRef="usd">8799000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5NjJhYzE2MWFhZDE0MWFhYmI4MjNiNzEwZmQ5ZGU1NC90YWJsZXJhbmdlOjk2MmFjMTYxYWFkMTQxYWFiYjgyM2I3MTBmZDlkZTU0XzUtMS0xLTEtNTM4MzA_6d2c13c3-75f0-44bf-bf40-4ae617f8ad0c"
      unitRef="usd">60752000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5NjJhYzE2MWFhZDE0MWFhYmI4MjNiNzEwZmQ5ZGU1NC90YWJsZXJhbmdlOjk2MmFjMTYxYWFkMTQxYWFiYjgyM2I3MTBmZDlkZTU0XzUtMy0xLTEtNTM4MzA_332cdcc1-f949-40a8-b12c-501db504efb4"
      unitRef="usd">58431000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo5NjJhYzE2MWFhZDE0MWFhYmI4MjNiNzEwZmQ5ZGU1NC90YWJsZXJhbmdlOjk2MmFjMTYxYWFkMTQxYWFiYjgyM2I3MTBmZDlkZTU0XzUtNS0xLTEtNTM4MzA_ae03f9b3-9453-4550-9f9c-56a4420b2c5b"
      unitRef="usd">58071000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2XzY1MDA_6f0f714c-535a-41db-baa8-39528543592f"
      unitRef="usd">1000000</us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount>
    <us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2XzY1MDc_b2cbe56e-dcaf-4d5a-a248-01af57663149"
      unitRef="usd">600000</us-gaap:EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsCapitalizedAmount>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2XzY2MTc_3d6be60c-8072-485e-8042-a1b1d42996ce"
      unitRef="usd">129200000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2XzY3MDU_36537180-6196-4786-9c7b-750d356decd2">P2Y7M6D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2Xzg0NzA_bd8ae116-19ac-4e7e-8914-a907aa439df5">&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The assumptions used in the Black-Scholes option-pricing model are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.707%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.243%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.630%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.533%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.631%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Stock Options&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average grant date fair value (per share)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56.89&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54.20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39.06&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected dividend yield&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;75.1&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;74.6&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71.8&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.0&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.600%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;ESPP&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average grant date fair value (per share)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38.19&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;36.83&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30.32&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected dividend yield&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.0&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60.3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;69.9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.3&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.3&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="if49650d2c7c3479f9639bb248aed2d28_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTpjNzVkZmY5OGJiMTg0NmYyOGNjYjIxYWYxYWYxYTI0Ni90YWJsZXJhbmdlOmM3NWRmZjk4YmIxODQ2ZjI4Y2NiMjFhZjFhZjFhMjQ2XzMtMS0xLTEtNTM4MzA_eeea82cf-41cc-478e-8dc1-2a1126d79785"
      unitRef="usdPerShare">56.89</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i1d4852b8fcc5456f85f7136f532a6c94_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTpjNzVkZmY5OGJiMTg0NmYyOGNjYjIxYWYxYWYxYTI0Ni90YWJsZXJhbmdlOmM3NWRmZjk4YmIxODQ2ZjI4Y2NiMjFhZjFhZjFhMjQ2XzMtMy0xLTEtNTM4MzA_6b15d97d-42b1-4eac-9d61-a7f09b113a9b"
      unitRef="usdPerShare">54.20</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="if92fc2d5b7d44c36a596ec8b692ec222_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTpjNzVkZmY5OGJiMTg0NmYyOGNjYjIxYWYxYWYxYTI0Ni90YWJsZXJhbmdlOmM3NWRmZjk4YmIxODQ2ZjI4Y2NiMjFhZjFhZjFhMjQ2XzMtNS0xLTEtNTM4MzA_191fa89b-cf7d-4634-9a45-b0a49a0a2048"
      unitRef="usdPerShare">39.06</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="if49650d2c7c3479f9639bb248aed2d28_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTpjNzVkZmY5OGJiMTg0NmYyOGNjYjIxYWYxYWYxYTI0Ni90YWJsZXJhbmdlOmM3NWRmZjk4YmIxODQ2ZjI4Y2NiMjFhZjFhZjFhMjQ2XzQtMS0xLTEtNTM4MzA_b75831cb-a5c2-449a-9f0f-7f21b081d0da"
      unitRef="number">0.010</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="i1d4852b8fcc5456f85f7136f532a6c94_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTpjNzVkZmY5OGJiMTg0NmYyOGNjYjIxYWYxYWYxYTI0Ni90YWJsZXJhbmdlOmM3NWRmZjk4YmIxODQ2ZjI4Y2NiMjFhZjFhZjFhMjQ2XzQtMy0xLTEtNTM4MzA_21cf72fa-4eb9-4ee5-a3ef-b6f02509b9ba"
      unitRef="number">0.006</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="if92fc2d5b7d44c36a596ec8b692ec222_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTpjNzVkZmY5OGJiMTg0NmYyOGNjYjIxYWYxYWYxYTI0Ni90YWJsZXJhbmdlOmM3NWRmZjk4YmIxODQ2ZjI4Y2NiMjFhZjFhZjFhMjQ2XzQtNS0xLTEtNTM4MzA_d0df252e-b7ca-4313-ab49-4391dc497586"
      unitRef="number">0.021</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="if49650d2c7c3479f9639bb248aed2d28_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTpjNzVkZmY5OGJiMTg0NmYyOGNjYjIxYWYxYWYxYTI0Ni90YWJsZXJhbmdlOmM3NWRmZjk4YmIxODQ2ZjI4Y2NiMjFhZjFhZjFhMjQ2XzUtMS0xLTEtNTM4MzA_608e39d6-5141-4381-a24f-9d6f0c77eaa6"
      unitRef="number">0.000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="i1d4852b8fcc5456f85f7136f532a6c94_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTpjNzVkZmY5OGJiMTg0NmYyOGNjYjIxYWYxYWYxYTI0Ni90YWJsZXJhbmdlOmM3NWRmZjk4YmIxODQ2ZjI4Y2NiMjFhZjFhZjFhMjQ2XzUtMy0xLTEtNTM4MzA_90af8f5b-eb26-4dd9-821f-157ae947a35a"
      unitRef="number">0.000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="if92fc2d5b7d44c36a596ec8b692ec222_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTpjNzVkZmY5OGJiMTg0NmYyOGNjYjIxYWYxYWYxYTI0Ni90YWJsZXJhbmdlOmM3NWRmZjk4YmIxODQ2ZjI4Y2NiMjFhZjFhZjFhMjQ2XzUtNS0xLTEtNTM4MzA_66680272-14bb-45aa-88a5-a0500ed2d6b6"
      unitRef="number">0.000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="if49650d2c7c3479f9639bb248aed2d28_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTpjNzVkZmY5OGJiMTg0NmYyOGNjYjIxYWYxYWYxYTI0Ni90YWJsZXJhbmdlOmM3NWRmZjk4YmIxODQ2ZjI4Y2NiMjFhZjFhZjFhMjQ2XzYtMS0xLTEtNTM4MzA_81b603c1-ee51-4e8b-93f3-925fef9b996a"
      unitRef="number">0.751</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="i1d4852b8fcc5456f85f7136f532a6c94_D20200101-20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTpjNzVkZmY5OGJiMTg0NmYyOGNjYjIxYWYxYWYxYTI0Ni90YWJsZXJhbmdlOmM3NWRmZjk4YmIxODQ2ZjI4Y2NiMjFhZjFhZjFhMjQ2XzYtMy0xLTEtNTM4MzA_8987aa44-7fcb-4acf-984c-c7ff55c7b5e7"
      unitRef="number">0.746</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="if92fc2d5b7d44c36a596ec8b692ec222_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTpjNzVkZmY5OGJiMTg0NmYyOGNjYjIxYWYxYWYxYTI0Ni90YWJsZXJhbmdlOmM3NWRmZjk4YmIxODQ2ZjI4Y2NiMjFhZjFhZjFhMjQ2XzYtNS0xLTEtNTM4MzA_2abdb3fe-9217-4c76-8af6-cb6d73b15af3"
      unitRef="number">0.718</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="if49650d2c7c3479f9639bb248aed2d28_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTpjNzVkZmY5OGJiMTg0NmYyOGNjYjIxYWYxYWYxYTI0Ni90YWJsZXJhbmdlOmM3NWRmZjk4YmIxODQ2ZjI4Y2NiMjFhZjFhZjFhMjQ2XzctMS0xLTEtNTM4MzA_e0031855-5ebb-4b62-8fe1-6b1b11ea509a">P6Y1M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i1d4852b8fcc5456f85f7136f532a6c94_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTpjNzVkZmY5OGJiMTg0NmYyOGNjYjIxYWYxYWYxYTI0Ni90YWJsZXJhbmdlOmM3NWRmZjk4YmIxODQ2ZjI4Y2NiMjFhZjFhZjFhMjQ2XzctMy0xLTEtNTM4MzA_eed7ff4c-007b-44ed-acc8-64ca98f7fab1">P6Y1M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="if92fc2d5b7d44c36a596ec8b692ec222_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTpjNzVkZmY5OGJiMTg0NmYyOGNjYjIxYWYxYWYxYTI0Ni90YWJsZXJhbmdlOmM3NWRmZjk4YmIxODQ2ZjI4Y2NiMjFhZjFhZjFhMjQ2XzctNS0xLTEtNTM4MzA_37571c20-f58b-43e1-9af2-d90c67db72da">P6Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="ia3d7663d7ea24730a3e9d85bd7913813_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo0MTVjMGFlNTkxNmI0OGI2YTBiMDIxZmMwMmU0ZTIxZi90YWJsZXJhbmdlOjQxNWMwYWU1OTE2YjQ4YjZhMGIwMjFmYzAyZTRlMjFmXzMtMS0xLTEtNTM4MzA_3bda4b2b-e26a-4df2-b42e-0c6dcaeb55f1"
      unitRef="usdPerShare">38.19</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i6658da36425f4a968900a4a607e46e91_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo0MTVjMGFlNTkxNmI0OGI2YTBiMDIxZmMwMmU0ZTIxZi90YWJsZXJhbmdlOjQxNWMwYWU1OTE2YjQ4YjZhMGIwMjFmYzAyZTRlMjFmXzMtMy0xLTEtNTM4MzA_1f12b1b9-eb05-4570-b92f-c9e286596304"
      unitRef="usdPerShare">36.83</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="iee3197ac48c5483fbead272093a1a9aa_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo0MTVjMGFlNTkxNmI0OGI2YTBiMDIxZmMwMmU0ZTIxZi90YWJsZXJhbmdlOjQxNWMwYWU1OTE2YjQ4YjZhMGIwMjFmYzAyZTRlMjFmXzMtNS0xLTEtNTM4MzA_e09b6a4a-18d1-4b4f-a11c-7845a8330b8f"
      unitRef="usdPerShare">30.32</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="ia3d7663d7ea24730a3e9d85bd7913813_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo0MTVjMGFlNTkxNmI0OGI2YTBiMDIxZmMwMmU0ZTIxZi90YWJsZXJhbmdlOjQxNWMwYWU1OTE2YjQ4YjZhMGIwMjFmYzAyZTRlMjFmXzQtMS0xLTEtNTM4MzA_b1702f6b-3fc7-4ce9-8da4-b8d3d11bb5aa"
      unitRef="number">0.002</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="i6658da36425f4a968900a4a607e46e91_D20200101-20201231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo0MTVjMGFlNTkxNmI0OGI2YTBiMDIxZmMwMmU0ZTIxZi90YWJsZXJhbmdlOjQxNWMwYWU1OTE2YjQ4YjZhMGIwMjFmYzAyZTRlMjFmXzQtMy0xLTEtNTM4MzA_101b3255-b2bb-4bf6-8383-85221788e024"
      unitRef="number">0.002</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="iee3197ac48c5483fbead272093a1a9aa_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo0MTVjMGFlNTkxNmI0OGI2YTBiMDIxZmMwMmU0ZTIxZi90YWJsZXJhbmdlOjQxNWMwYWU1OTE2YjQ4YjZhMGIwMjFmYzAyZTRlMjFmXzQtNS0xLTEtNTM4MzA_73ec0390-a79d-4475-aee8-dc6722c2ca9e"
      unitRef="number">0.019</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="ia3d7663d7ea24730a3e9d85bd7913813_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo0MTVjMGFlNTkxNmI0OGI2YTBiMDIxZmMwMmU0ZTIxZi90YWJsZXJhbmdlOjQxNWMwYWU1OTE2YjQ4YjZhMGIwMjFmYzAyZTRlMjFmXzUtMS0xLTEtNTM4MzA_638d8768-c3ee-4d9f-84a1-f9cb60227b58"
      unitRef="number">0.000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="i6658da36425f4a968900a4a607e46e91_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo0MTVjMGFlNTkxNmI0OGI2YTBiMDIxZmMwMmU0ZTIxZi90YWJsZXJhbmdlOjQxNWMwYWU1OTE2YjQ4YjZhMGIwMjFmYzAyZTRlMjFmXzUtMy0xLTEtNTM4MzA_8d4a9fa6-0ca7-4852-93a9-900720bbb9e1"
      unitRef="number">0.000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="iee3197ac48c5483fbead272093a1a9aa_D20190101-20191231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo0MTVjMGFlNTkxNmI0OGI2YTBiMDIxZmMwMmU0ZTIxZi90YWJsZXJhbmdlOjQxNWMwYWU1OTE2YjQ4YjZhMGIwMjFmYzAyZTRlMjFmXzUtNS0xLTEtNTM4MzA_b9956f9a-2631-49f8-b17b-d2993d334753"
      unitRef="number">0.000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="ia3d7663d7ea24730a3e9d85bd7913813_D20210101-20211231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo0MTVjMGFlNTkxNmI0OGI2YTBiMDIxZmMwMmU0ZTIxZi90YWJsZXJhbmdlOjQxNWMwYWU1OTE2YjQ4YjZhMGIwMjFmYzAyZTRlMjFmXzYtMS0xLTEtNTM4MzA_8f4b8f25-0e72-4a9b-8265-ef5e60553671"
      unitRef="number">0.442</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="i6658da36425f4a968900a4a607e46e91_D20200101-20201231"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo0MTVjMGFlNTkxNmI0OGI2YTBiMDIxZmMwMmU0ZTIxZi90YWJsZXJhbmdlOjQxNWMwYWU1OTE2YjQ4YjZhMGIwMjFmYzAyZTRlMjFmXzYtMy0xLTEtNTM4MzA_78920f81-57f6-41f8-8b55-37a84d2bd1e8"
      unitRef="number">0.603</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate
      contextRef="iee3197ac48c5483fbead272093a1a9aa_D20190101-20191231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo0MTVjMGFlNTkxNmI0OGI2YTBiMDIxZmMwMmU0ZTIxZi90YWJsZXJhbmdlOjQxNWMwYWU1OTE2YjQ4YjZhMGIwMjFmYzAyZTRlMjFmXzYtNS0xLTEtNTM4MzA_2518b909-159d-4fa4-bf57-42866b035571"
      unitRef="number">0.699</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="ia3d7663d7ea24730a3e9d85bd7913813_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo0MTVjMGFlNTkxNmI0OGI2YTBiMDIxZmMwMmU0ZTIxZi90YWJsZXJhbmdlOjQxNWMwYWU1OTE2YjQ4YjZhMGIwMjFmYzAyZTRlMjFmXzctMS0xLTEtNTM4MzA_d5b5e7d1-7386-4c7c-a93f-8ae086f6c814">P1Y3M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i6658da36425f4a968900a4a607e46e91_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo0MTVjMGFlNTkxNmI0OGI2YTBiMDIxZmMwMmU0ZTIxZi90YWJsZXJhbmdlOjQxNWMwYWU1OTE2YjQ4YjZhMGIwMjFmYzAyZTRlMjFmXzctMy0xLTEtNTM4MzA_c296addd-8205-4e4e-9e1b-19f340c099fb">P1Y3M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="iee3197ac48c5483fbead272093a1a9aa_D20190101-20191231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90YWJsZTo0MTVjMGFlNTkxNmI0OGI2YTBiMDIxZmMwMmU0ZTIxZi90YWJsZXJhbmdlOjQxNWMwYWU1OTE2YjQ4YjZhMGIwMjFmYzAyZTRlMjFmXzctNS0xLTEtNTM4MzA_02cff9d6-961b-4cd9-bd47-d6abbe13dca8">P1Y3M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1
      contextRef="ia3d7663d7ea24730a3e9d85bd7913813_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDIvZnJhZzoxNGYwNzNmMGUxMmY0MTllYTgxOTRiZGI5NzRkNmE5Ni90ZXh0cmVnaW9uOjE0ZjA3M2YwZTEyZjQxOWVhODE5NGJkYjk3NGQ2YTk2XzQzOTgwNDY1MjA5Nzc_8aaf51e9-66a2-4b5c-8f59-65a21dcddcf4">P2Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
    <us-gaap:CompensationAndEmployeeBenefitPlansTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDgvZnJhZzpmN2JmYTkyZGFkY2U0MmExYTU3MTY3NzI5YmMyOTIyNS90ZXh0cmVnaW9uOmY3YmZhOTJkYWRjZTQyYTFhNTcxNjc3MjliYzI5MjI1XzU5OA_b1b2f911-5de2-454d-b3af-54b341c8eb02">Employee Benefits&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Employee 401(k) Plan&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has a defined contribution 401(k) plan for employees in the United States who are at least 18 years of age. Employees are eligible to participate in the plan beginning on the first day of the calendar month following their date of hire. Unless they affirmatively elect otherwise, employees are automatically enrolled in the plan following 30 days from date of rehire or entry date. Under the terms of the plan, employees may make voluntary contributions as a percent of compensation, and the Company may elect to match a discretionary percentage of employee contributions. The Company did not provide a matching contribution during the three years ended December 31, 2021, but approved a discretionary match to begin in 2022.&lt;/span&gt;&lt;/div&gt;</us-gaap:CompensationAndEmployeeBenefitPlansTextBlock>
    <tndm:DefinedContributionPlanMinimumAgeOfEmployee
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDgvZnJhZzpmN2JmYTkyZGFkY2U0MmExYTU3MTY3NzI5YmMyOTIyNS90ZXh0cmVnaW9uOmY3YmZhOTJkYWRjZTQyYTFhNTcxNjc3MjliYzI5MjI1XzE0OQ_f335e51e-16fa-48f5-a52e-6b63c72a9a60">P18Y</tndm:DefinedContributionPlanMinimumAgeOfEmployee>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90ZXh0cmVnaW9uOjRhYTYwYTQ0NTI2YjQxZjA4MWU3NDk2MDMwZGEwOGU5XzYxNzI_964a8055-e340-4911-9d0b-390f5004bf88">Income Taxes&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The income (loss) before provision for income taxes for the Company&#x2019;s domestic and international operations was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.648%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.500%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S.&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,211&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(36,667)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(24,888)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;690&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;385&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;284&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income (loss) before provision for income taxes&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,901&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(36,282)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(24,604)&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:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of income tax expense (benefit) were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.648%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.500%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;174&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;151&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;88&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total current tax expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;335&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;226&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;174&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,760)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(21)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(366)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total deferred income tax benefit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,126)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(25)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income tax expense (benefit)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;335&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,900)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The expense (benefit) for income taxes reconciles to the amount computed by applying the federal statutory rate to loss before taxes as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.648%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.500%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income tax expense (benefit) at federal statutory rate&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt; (1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,339&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,619)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,167)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State income tax, net of federal benefit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(254)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,792)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,174)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Warrants revaluation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;356&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,588&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,326&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research and development credits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,703)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,330)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Section 382 limitation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(97)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,021&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,043&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock-based compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,609)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(18,309)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,974)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Officers' compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,024&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,612&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;124&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;479&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;972&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Change in valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,155&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13,919)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income tax expense (benefit)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;335&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,900)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt"&gt;For the years ended December&#160;31, 2021, 2020 and 2019, the federal statutory tax rate was 21%.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Significant components of the Company&#x2019;s net deferred income tax assets at December&#160;31, 2021 and 2020 are shown below (in thousands). The Company assesses all available positive and negative evidence to estimate whether sufficient future taxable income will be generated to permit use of the existing deferred tax assets. A significant piece of objective negative evidence evaluated was the cumulative book loss incurred over the three-year period ended December 31, 2021. Such objective evidence limits the ability to consider other subjective evidence, such as projections for future growth. On the basis of this analysis, a valuation allowance of $146.4 million and $121.6 million at December&#160;31, 2021 and 2020, respectively, has been recorded to offset the net deferred tax asset as realization of such asset is uncertain. The amount of the deferred tax asset considered realizable, however, could be adjusted if estimates of future taxable income during the carryforward period are increased, or if objective negative evidence in the form of cumulative losses is no longer present and additional weight is given to subjective evidence such as the Company&#x2019;s projections for future growth.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.811%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.576%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.578%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net operating loss (NOL) carryforwards&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78,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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86,898&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research and development tax credits carryforwards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,261&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capitalized research and development expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,135&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,840&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,970&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,038&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,012&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,112&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,608&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,096&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;158,447&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;147,245&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Convertible senior notes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,224)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fixed 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,847)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,675)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,177)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,719)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total deferred tax liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12,024)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(25,618)&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 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(146,423)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(121,627)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2021, the Company had accumulated federal and state NOL carryforwards of approximately $301.2 million, and $291.0 million, respectively, Of the total federal net operating loss carryforwards, approximately $112.1&#160;million were generated after January 1, 2018, and therefore do not expire. NOL generated after January 1, 2018, is subject to 80% limitation in accordance with the Tax Cuts and Jobs Act of 2017. The remaining federal net operating loss carryforwards of $189.1&#160;million will begin to expire in 2026, and state tax loss carryforwards continue to expire in 2022, unless previously utilized. The remaining California NOL carryforwards of $171.8&#160;million will begin expiring in 2028. The Company has no foreign tax loss carryforwards as of December&#160;31, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company also has federal and California research credit carryforwards of approximately $12.9 million and $15.5 million, respectively, as of December&#160;31, 2021. The federal research credit carryforwards will begin expiring in 2038, unless previously utilized. The California research credit will carry forward indefinitely.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Utilization of the Company's net operating loss and research credit carryforwards may be subject to a substantial annual limitation due to ownership change limitations provided by Section 382 of the Internal Revenue Code of 1986, as amended, and similar state provisions. The annual limitations may result in the expiration of net operating loss carryforwards before utilization. The Company has completed analyses through December 31, 2020 to determine whether its net operating losses and credits are likely to be limited by Section 382. Based on the 2018 study completed in 2019, the Company determined that an ownership change, as defined under Section 382, occurred in 2018 and the resulting limitation significantly reduced the Company&#x2019;s ability to utilize its net operating loss and credit carryovers before they expire. As a result, in 2019 the Company reduced its deferred tax assets for the net operating loss and research credit carryforwards that were projected to expire unused with a corresponding offset to the valuation allowance recorded against such assets. Additionally, future ownership changes under Section 382 may also limit the Company's ability to fully utilize any remaining tax benefits. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The evaluation of uncertainty in a tax position is a two-step process. The first step involves recognition. The Company determines whether it is more likely than not that a tax position will be sustained upon tax examination, including resolution of any related appeals or litigation, based on only the technical merits of the position. The technical merits of a tax position are derived from both statutory and judicial authority (legislation and statutes, legislative intent, regulations, rulings, and case law) and their applicability to the facts and circumstances of the tax position. If a tax position does not meet the more-likely-than-not recognition threshold, the benefit of that position is not recognized in the financial statements. The second step is measurement. A tax position that meets the more-likely-than-not recognition threshold is measured to determine the amount of benefit to recognize in the financial statements. The tax position is measured as the largest amount of benefit that is greater than 50% likely of being realized upon ultimate resolution with a taxing authority.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the activity related to the Company&#x2019;s gross unrecognized tax benefits at the beginning and end of the years ended December&#160;31, 2021, 2020 and 2019 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross unrecognized tax benefits at the beginning of the year&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,580&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,824&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Increases related to current year positions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,482&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,234&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,076&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Increases (decreases) related to prior year positions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,293&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,320)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross unrecognized tax benefits at the end of the year&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,589&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,580&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of December&#160;31, 2021, the Company had $11.8 million of unrecognized tax benefits that, if recognized and realized would impact the effective tax rate, subject to the valuation allowance.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company&#x2019;s practice is to recognize interest and penalties related to income tax matters in income tax expense. The Company had no accrual for interest and penalties on the Company&#x2019;s consolidated balance sheets and has not recognized interest and penalties in the consolidated statements of operations for the years ended December&#160;31, 2021 and 2020. The Company does not expect any significant increases or decreases, other than the potential reduction as a result of the Section 382 limitation, to its unrecognized tax benefits within the next 12 months.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company is subject to taxation in the United States and various other state jurisdictions and, starting with 2018, Canada. Prior to 2018, the losses were all domestic. The Company&#x2019;s tax years from 2006 (inception) are subject to examination by the United States and state authorities due to the carry forward of unutilized NOLs and research and development credits.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90ZXh0cmVnaW9uOjRhYTYwYTQ0NTI2YjQxZjA4MWU3NDk2MDMwZGEwOGU5XzYxNzg_bceed85c-f4f9-43ce-9f68-3fae3f7e73fd">&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The income (loss) before provision for income taxes for the Company&#x2019;s domestic and international operations was as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.648%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.500%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S.&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,211&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(36,667)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(24,888)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;690&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;385&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;284&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income (loss) before provision for income taxes&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,901&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(36,282)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(24,604)&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:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxNzM5ZTA5MmFhZWY0MWM2YTIyNzg0ZmFmNDRmODU5MC90YWJsZXJhbmdlOjE3MzllMDkyYWFlZjQxYzZhMjI3ODRmYWY0NGY4NTkwXzItMS0xLTEtNTM4MzA_bd1db760-d1be-42f0-acaf-6a767695af6c"
      unitRef="usd">15211000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxNzM5ZTA5MmFhZWY0MWM2YTIyNzg0ZmFmNDRmODU5MC90YWJsZXJhbmdlOjE3MzllMDkyYWFlZjQxYzZhMjI3ODRmYWY0NGY4NTkwXzItMy0xLTEtNTM4MzA_e8172df4-21a3-4651-a4ca-05859c8b5797"
      unitRef="usd">-36667000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxNzM5ZTA5MmFhZWY0MWM2YTIyNzg0ZmFmNDRmODU5MC90YWJsZXJhbmdlOjE3MzllMDkyYWFlZjQxYzZhMjI3ODRmYWY0NGY4NTkwXzItNS0xLTEtNTM4MzA_a1337661-05d0-476c-bff2-a85261b5dbf2"
      unitRef="usd">-24888000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxNzM5ZTA5MmFhZWY0MWM2YTIyNzg0ZmFmNDRmODU5MC90YWJsZXJhbmdlOjE3MzllMDkyYWFlZjQxYzZhMjI3ODRmYWY0NGY4NTkwXzMtMS0xLTEtNTM4MzA_1c776430-f488-4da6-9099-a58345c3cee7"
      unitRef="usd">690000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxNzM5ZTA5MmFhZWY0MWM2YTIyNzg0ZmFmNDRmODU5MC90YWJsZXJhbmdlOjE3MzllMDkyYWFlZjQxYzZhMjI3ODRmYWY0NGY4NTkwXzMtMy0xLTEtNTM4MzA_8315ef49-c44a-4852-be35-6f887118faba"
      unitRef="usd">385000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxNzM5ZTA5MmFhZWY0MWM2YTIyNzg0ZmFmNDRmODU5MC90YWJsZXJhbmdlOjE3MzllMDkyYWFlZjQxYzZhMjI3ODRmYWY0NGY4NTkwXzMtNS0xLTEtNTM4MzA_681c41df-bd94-406b-98df-b4b3b92ee432"
      unitRef="usd">284000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxNzM5ZTA5MmFhZWY0MWM2YTIyNzg0ZmFmNDRmODU5MC90YWJsZXJhbmdlOjE3MzllMDkyYWFlZjQxYzZhMjI3ODRmYWY0NGY4NTkwXzQtMS0xLTEtNTM4MzA_575c2522-f3d2-4337-876e-add0d984eeeb"
      unitRef="usd">15901000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxNzM5ZTA5MmFhZWY0MWM2YTIyNzg0ZmFmNDRmODU5MC90YWJsZXJhbmdlOjE3MzllMDkyYWFlZjQxYzZhMjI3ODRmYWY0NGY4NTkwXzQtMy0xLTEtNTM4MzA_7983bb59-4041-4d0b-a6cf-f2564f86db99"
      unitRef="usd">-36282000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxNzM5ZTA5MmFhZWY0MWM2YTIyNzg0ZmFmNDRmODU5MC90YWJsZXJhbmdlOjE3MzllMDkyYWFlZjQxYzZhMjI3ODRmYWY0NGY4NTkwXzQtNS0xLTEtNTM4MzA_21dfa3db-a92b-4798-9321-71abfdb6e1b0"
      unitRef="usd">-24604000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90ZXh0cmVnaW9uOjRhYTYwYTQ0NTI2YjQxZjA4MWU3NDk2MDMwZGEwOGU5XzYxNzk_81bfd81c-a6ec-4ed9-9db6-014144951ce5">&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of income tax expense (benefit) were as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.648%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.500%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Current:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;174&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;151&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;88&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total current tax expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;335&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;226&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;174&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Federal&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,760)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(21)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(366)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Foreign&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total deferred income tax benefit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,126)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(25)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income tax expense (benefit)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;335&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,900)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxODM4Y2ZiYjY1ZjI0NDE4YjY2ZDM5NjMyODdjNGM4OS90YWJsZXJhbmdlOjE4MzhjZmJiNjVmMjQ0MThiNjZkMzk2MzI4N2M0Yzg5XzMtMS0xLTEtNTM4MzA_96a93572-63ed-4387-8f3d-e8b38ae3a978"
      unitRef="usd">0</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxODM4Y2ZiYjY1ZjI0NDE4YjY2ZDM5NjMyODdjNGM4OS90YWJsZXJhbmdlOjE4MzhjZmJiNjVmMjQ0MThiNjZkMzk2MzI4N2M0Yzg5XzMtMy0xLTEtNTM4MzA_537a98ea-d6fd-43db-a009-475e6800fa67"
      unitRef="usd">0</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentFederalTaxExpenseBenefit
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxODM4Y2ZiYjY1ZjI0NDE4YjY2ZDM5NjMyODdjNGM4OS90YWJsZXJhbmdlOjE4MzhjZmJiNjVmMjQ0MThiNjZkMzk2MzI4N2M0Yzg5XzMtNS0xLTEtNTM4MzA_0d77b71f-b9e9-4f4f-998e-c39d0a9ec4e7"
      unitRef="usd">0</us-gaap:CurrentFederalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxODM4Y2ZiYjY1ZjI0NDE4YjY2ZDM5NjMyODdjNGM4OS90YWJsZXJhbmdlOjE4MzhjZmJiNjVmMjQ0MThiNjZkMzk2MzI4N2M0Yzg5XzQtMS0xLTEtNTM4MzA_c815eb7f-de74-4d16-a400-e2da9a33a18c"
      unitRef="usd">174000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxODM4Y2ZiYjY1ZjI0NDE4YjY2ZDM5NjMyODdjNGM4OS90YWJsZXJhbmdlOjE4MzhjZmJiNjVmMjQ0MThiNjZkMzk2MzI4N2M0Yzg5XzQtMy0xLTEtNTM4MzA_d433a491-75b3-4a10-a8d6-7a8977e32266"
      unitRef="usd">75000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentStateAndLocalTaxExpenseBenefit
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxODM4Y2ZiYjY1ZjI0NDE4YjY2ZDM5NjMyODdjNGM4OS90YWJsZXJhbmdlOjE4MzhjZmJiNjVmMjQ0MThiNjZkMzk2MzI4N2M0Yzg5XzQtNS0xLTEtNTM4MzA_fc50336f-2139-44e8-bae7-cd18d055755b"
      unitRef="usd">86000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxODM4Y2ZiYjY1ZjI0NDE4YjY2ZDM5NjMyODdjNGM4OS90YWJsZXJhbmdlOjE4MzhjZmJiNjVmMjQ0MThiNjZkMzk2MzI4N2M0Yzg5XzUtMS0xLTEtNTM4MzA_4c3463ce-d528-40c3-95ba-c31bd1c61af8"
      unitRef="usd">161000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxODM4Y2ZiYjY1ZjI0NDE4YjY2ZDM5NjMyODdjNGM4OS90YWJsZXJhbmdlOjE4MzhjZmJiNjVmMjQ0MThiNjZkMzk2MzI4N2M0Yzg5XzUtMy0xLTEtNTM4MzA_3df17a78-2722-4c11-a0f8-b3f3dc0f5dc0"
      unitRef="usd">151000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentForeignTaxExpenseBenefit
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxODM4Y2ZiYjY1ZjI0NDE4YjY2ZDM5NjMyODdjNGM4OS90YWJsZXJhbmdlOjE4MzhjZmJiNjVmMjQ0MThiNjZkMzk2MzI4N2M0Yzg5XzUtNS0xLTEtNTM4MzA_c6fca915-6bb3-4f0d-817e-598fc6a166ec"
      unitRef="usd">88000</us-gaap:CurrentForeignTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxODM4Y2ZiYjY1ZjI0NDE4YjY2ZDM5NjMyODdjNGM4OS90YWJsZXJhbmdlOjE4MzhjZmJiNjVmMjQ0MThiNjZkMzk2MzI4N2M0Yzg5XzYtMS0xLTEtNTM4MzA_960df54e-ebd7-41fb-bb75-7c83f8cac3a8"
      unitRef="usd">335000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxODM4Y2ZiYjY1ZjI0NDE4YjY2ZDM5NjMyODdjNGM4OS90YWJsZXJhbmdlOjE4MzhjZmJiNjVmMjQ0MThiNjZkMzk2MzI4N2M0Yzg5XzYtMy0xLTEtNTM4MzA_91fd4519-d41f-4e98-a962-479863dde215"
      unitRef="usd">226000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:CurrentIncomeTaxExpenseBenefit
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxODM4Y2ZiYjY1ZjI0NDE4YjY2ZDM5NjMyODdjNGM4OS90YWJsZXJhbmdlOjE4MzhjZmJiNjVmMjQ0MThiNjZkMzk2MzI4N2M0Yzg5XzYtNS0xLTEtNTM4MzA_98c2f8ee-f78b-4e38-beac-76d7e41f9ba5"
      unitRef="usd">174000</us-gaap:CurrentIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxODM4Y2ZiYjY1ZjI0NDE4YjY2ZDM5NjMyODdjNGM4OS90YWJsZXJhbmdlOjE4MzhjZmJiNjVmMjQ0MThiNjZkMzk2MzI4N2M0Yzg5XzgtMS0xLTEtNTM4MzA_31fe58ac-423a-4817-a199-627d69e8d646"
      unitRef="usd">0</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxODM4Y2ZiYjY1ZjI0NDE4YjY2ZDM5NjMyODdjNGM4OS90YWJsZXJhbmdlOjE4MzhjZmJiNjVmMjQ0MThiNjZkMzk2MzI4N2M0Yzg5XzgtMy0xLTEtNTM4MzA_29989c1e-598d-49de-bdce-408f9b93f36f"
      unitRef="usd">-1760000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredFederalIncomeTaxExpenseBenefit
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxODM4Y2ZiYjY1ZjI0NDE4YjY2ZDM5NjMyODdjNGM4OS90YWJsZXJhbmdlOjE4MzhjZmJiNjVmMjQ0MThiNjZkMzk2MzI4N2M0Yzg5XzgtNS0xLTEtNTM4MzA_2ddaffe3-b5d8-4cd2-a1ac-00becc4b0cac"
      unitRef="usd">-21000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxODM4Y2ZiYjY1ZjI0NDE4YjY2ZDM5NjMyODdjNGM4OS90YWJsZXJhbmdlOjE4MzhjZmJiNjVmMjQ0MThiNjZkMzk2MzI4N2M0Yzg5XzktMS0xLTEtNTM4MzA_982408d6-2227-4d64-bb35-dcf33917c4a2"
      unitRef="usd">0</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxODM4Y2ZiYjY1ZjI0NDE4YjY2ZDM5NjMyODdjNGM4OS90YWJsZXJhbmdlOjE4MzhjZmJiNjVmMjQ0MThiNjZkMzk2MzI4N2M0Yzg5XzktMy0xLTEtNTM4MzA_be1b576c-aa1e-468b-b4f0-a519a48e1c61"
      unitRef="usd">-366000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxODM4Y2ZiYjY1ZjI0NDE4YjY2ZDM5NjMyODdjNGM4OS90YWJsZXJhbmdlOjE4MzhjZmJiNjVmMjQ0MThiNjZkMzk2MzI4N2M0Yzg5XzktNS0xLTEtNTM4MzA_421e6380-b694-41d8-9f06-6db01cf85c0b"
      unitRef="usd">-4000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxODM4Y2ZiYjY1ZjI0NDE4YjY2ZDM5NjMyODdjNGM4OS90YWJsZXJhbmdlOjE4MzhjZmJiNjVmMjQ0MThiNjZkMzk2MzI4N2M0Yzg5XzEwLTEtMS0xLTUzODMw_bd7848e9-819b-4a3a-a816-a37ac422f161"
      unitRef="usd">0</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxODM4Y2ZiYjY1ZjI0NDE4YjY2ZDM5NjMyODdjNGM4OS90YWJsZXJhbmdlOjE4MzhjZmJiNjVmMjQ0MThiNjZkMzk2MzI4N2M0Yzg5XzEwLTMtMS0xLTUzODMw_f9251f2b-b62a-4b13-bc9f-924d3c2a0686"
      unitRef="usd">0</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredForeignIncomeTaxExpenseBenefit
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxODM4Y2ZiYjY1ZjI0NDE4YjY2ZDM5NjMyODdjNGM4OS90YWJsZXJhbmdlOjE4MzhjZmJiNjVmMjQ0MThiNjZkMzk2MzI4N2M0Yzg5XzEwLTUtMS0xLTUzODMw_fcaa25cb-acb0-4acc-8c13-6167042e69ee"
      unitRef="usd">0</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxODM4Y2ZiYjY1ZjI0NDE4YjY2ZDM5NjMyODdjNGM4OS90YWJsZXJhbmdlOjE4MzhjZmJiNjVmMjQ0MThiNjZkMzk2MzI4N2M0Yzg5XzExLTEtMS0xLTUzODMw_bf8afcd1-e964-4af5-8eeb-fec8ec9e38ea"
      unitRef="usd">0</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxODM4Y2ZiYjY1ZjI0NDE4YjY2ZDM5NjMyODdjNGM4OS90YWJsZXJhbmdlOjE4MzhjZmJiNjVmMjQ0MThiNjZkMzk2MzI4N2M0Yzg5XzExLTMtMS0xLTUzODMw_5cbbc901-bef2-452e-acb5-a05f7bcf0ce9"
      unitRef="usd">-2126000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxODM4Y2ZiYjY1ZjI0NDE4YjY2ZDM5NjMyODdjNGM4OS90YWJsZXJhbmdlOjE4MzhjZmJiNjVmMjQ0MThiNjZkMzk2MzI4N2M0Yzg5XzExLTUtMS0xLTUzODMw_ee3d425f-66fd-48ef-9469-f3f2186e7e1f"
      unitRef="usd">-25000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxODM4Y2ZiYjY1ZjI0NDE4YjY2ZDM5NjMyODdjNGM4OS90YWJsZXJhbmdlOjE4MzhjZmJiNjVmMjQ0MThiNjZkMzk2MzI4N2M0Yzg5XzEyLTEtMS0xLTUzODMw_b612219c-be5a-4472-9086-a4a5f4638906"
      unitRef="usd">335000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxODM4Y2ZiYjY1ZjI0NDE4YjY2ZDM5NjMyODdjNGM4OS90YWJsZXJhbmdlOjE4MzhjZmJiNjVmMjQ0MThiNjZkMzk2MzI4N2M0Yzg5XzEyLTMtMS0xLTUzODMw_bcb15d95-bd13-446e-810f-87aa5f06b2d3"
      unitRef="usd">-1900000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZToxODM4Y2ZiYjY1ZjI0NDE4YjY2ZDM5NjMyODdjNGM4OS90YWJsZXJhbmdlOjE4MzhjZmJiNjVmMjQ0MThiNjZkMzk2MzI4N2M0Yzg5XzEyLTUtMS0xLTUzODMw_d370e030-60b5-47ec-b8ce-7bcfa4522e2c"
      unitRef="usd">149000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90ZXh0cmVnaW9uOjRhYTYwYTQ0NTI2YjQxZjA4MWU3NDk2MDMwZGEwOGU5XzcxNDY4MjU1ODY3Mzc_f974146b-0ca0-4e10-898e-10d16c4332e7">&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The expense (benefit) for income taxes reconciles to the amount computed by applying the federal statutory rate to loss before taxes as follows (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.648%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.500%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income tax expense (benefit) at federal statutory rate&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt; (1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,339&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,619)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,167)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;State income tax, net of federal benefit&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(254)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,792)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,174)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Warrants revaluation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;356&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,588&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,326&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research and development credits&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,703)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,330)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Section 382 limitation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(97)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,021&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,043&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock-based compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,609)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(18,309)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,974)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Officers' compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,024&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,612&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;124&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;479&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;972&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Change in valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,155&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(13,919)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income tax expense (benefit)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;335&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,900)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;149&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(1)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt"&gt;For the years ended December&#160;31, 2021, 2020 and 2019, the federal statutory tax rate was 21%.&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTpkZGE1ODM0OWVkZWI0YzczOTMxZWE2ZWZiZTRhYWU1OC90YWJsZXJhbmdlOmRkYTU4MzQ5ZWRlYjRjNzM5MzFlYTZlZmJlNGFhZTU4XzItMS0xLTEtNTM4MzA_eb4e9e85-2560-4326-8bfd-2606e230eb8e"
      unitRef="usd">3339000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTpkZGE1ODM0OWVkZWI0YzczOTMxZWE2ZWZiZTRhYWU1OC90YWJsZXJhbmdlOmRkYTU4MzQ5ZWRlYjRjNzM5MzFlYTZlZmJlNGFhZTU4XzItMy0xLTEtNTM4MzA_4c104d5d-2d01-428a-94e7-e9d5d343332e"
      unitRef="usd">-7619000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTpkZGE1ODM0OWVkZWI0YzczOTMxZWE2ZWZiZTRhYWU1OC90YWJsZXJhbmdlOmRkYTU4MzQ5ZWRlYjRjNzM5MzFlYTZlZmJlNGFhZTU4XzItNS0xLTEtNTM4MzA_4c327eef-d862-49cd-8752-bb5d3c4b0d12"
      unitRef="usd">-5167000</us-gaap:IncomeTaxReconciliationIncomeTaxExpenseBenefitAtFederalStatutoryIncomeTaxRate>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTpkZGE1ODM0OWVkZWI0YzczOTMxZWE2ZWZiZTRhYWU1OC90YWJsZXJhbmdlOmRkYTU4MzQ5ZWRlYjRjNzM5MzFlYTZlZmJlNGFhZTU4XzMtMS0xLTEtNTM4MzA_6eb7190f-49e8-4438-80a6-8809814cb949"
      unitRef="usd">-254000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTpkZGE1ODM0OWVkZWI0YzczOTMxZWE2ZWZiZTRhYWU1OC90YWJsZXJhbmdlOmRkYTU4MzQ5ZWRlYjRjNzM5MzFlYTZlZmJlNGFhZTU4XzMtMy0xLTEtNTM4MzA_c6fbbef7-46cf-4df8-b51d-dba6dc68ffee"
      unitRef="usd">-2792000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTpkZGE1ODM0OWVkZWI0YzczOTMxZWE2ZWZiZTRhYWU1OC90YWJsZXJhbmdlOmRkYTU4MzQ5ZWRlYjRjNzM5MzFlYTZlZmJlNGFhZTU4XzMtNS0xLTEtNTM4MzA_9f6a2105-7bc8-4b01-bd01-bb0552a8c703"
      unitRef="usd">-1174000</us-gaap:IncomeTaxReconciliationStateAndLocalIncomeTaxes>
    <tndm:IncomeTaxReconciliationWarrantsRevaluation
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTpkZGE1ODM0OWVkZWI0YzczOTMxZWE2ZWZiZTRhYWU1OC90YWJsZXJhbmdlOmRkYTU4MzQ5ZWRlYjRjNzM5MzFlYTZlZmJlNGFhZTU4XzQtMS0xLTEtNTM4MzA_5511b128-064e-4fb1-89fb-475cf2871f63"
      unitRef="usd">356000</tndm:IncomeTaxReconciliationWarrantsRevaluation>
    <tndm:IncomeTaxReconciliationWarrantsRevaluation
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTpkZGE1ODM0OWVkZWI0YzczOTMxZWE2ZWZiZTRhYWU1OC90YWJsZXJhbmdlOmRkYTU4MzQ5ZWRlYjRjNzM5MzFlYTZlZmJlNGFhZTU4XzQtMy0xLTEtNTM4MzA_1ed1b3a6-8ca4-44bb-99fb-e7a77eaec817"
      unitRef="usd">3588000</tndm:IncomeTaxReconciliationWarrantsRevaluation>
    <tndm:IncomeTaxReconciliationWarrantsRevaluation
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTpkZGE1ODM0OWVkZWI0YzczOTMxZWE2ZWZiZTRhYWU1OC90YWJsZXJhbmdlOmRkYTU4MzQ5ZWRlYjRjNzM5MzFlYTZlZmJlNGFhZTU4XzQtNS0xLTEtNTM4MzA_d6eaf7ce-8d68-4f8b-80fd-df45c1dbf9c8"
      unitRef="usd">2326000</tndm:IncomeTaxReconciliationWarrantsRevaluation>
    <us-gaap:IncomeTaxReconciliationTaxCreditsResearch
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTpkZGE1ODM0OWVkZWI0YzczOTMxZWE2ZWZiZTRhYWU1OC90YWJsZXJhbmdlOmRkYTU4MzQ5ZWRlYjRjNzM5MzFlYTZlZmJlNGFhZTU4XzUtMS0xLTEtNTM4MzA_857797ea-0313-485f-aea2-35031ba4ab80"
      unitRef="usd">5703000</us-gaap:IncomeTaxReconciliationTaxCreditsResearch>
    <us-gaap:IncomeTaxReconciliationTaxCreditsResearch
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTpkZGE1ODM0OWVkZWI0YzczOTMxZWE2ZWZiZTRhYWU1OC90YWJsZXJhbmdlOmRkYTU4MzQ5ZWRlYjRjNzM5MzFlYTZlZmJlNGFhZTU4XzUtMy0xLTEtNTM4MzA_f9ef2897-3b6e-4998-8a30-24c66526ef16"
      unitRef="usd">5330000</us-gaap:IncomeTaxReconciliationTaxCreditsResearch>
    <us-gaap:IncomeTaxReconciliationTaxCreditsResearch
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTpkZGE1ODM0OWVkZWI0YzczOTMxZWE2ZWZiZTRhYWU1OC90YWJsZXJhbmdlOmRkYTU4MzQ5ZWRlYjRjNzM5MzFlYTZlZmJlNGFhZTU4XzUtNS0xLTEtNTM4MzA_f2abdd8d-417e-4d31-a9dc-72ab81015011"
      unitRef="usd">2091000</us-gaap:IncomeTaxReconciliationTaxCreditsResearch>
    <tndm:EffectiveIncomeTaxRateReconciliationNetOperatingLossCarryforward
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTpkZGE1ODM0OWVkZWI0YzczOTMxZWE2ZWZiZTRhYWU1OC90YWJsZXJhbmdlOmRkYTU4MzQ5ZWRlYjRjNzM5MzFlYTZlZmJlNGFhZTU4XzYtMS0xLTEtNTM4MzA_2a74e697-3cf7-4a84-b4eb-59de62b2de42"
      unitRef="usd">-97000</tndm:EffectiveIncomeTaxRateReconciliationNetOperatingLossCarryforward>
    <tndm:EffectiveIncomeTaxRateReconciliationNetOperatingLossCarryforward
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTpkZGE1ODM0OWVkZWI0YzczOTMxZWE2ZWZiZTRhYWU1OC90YWJsZXJhbmdlOmRkYTU4MzQ5ZWRlYjRjNzM5MzFlYTZlZmJlNGFhZTU4XzYtMy0xLTEtNTM4MzA_18328be5-079f-40b6-b118-17fef121f757"
      unitRef="usd">1021000</tndm:EffectiveIncomeTaxRateReconciliationNetOperatingLossCarryforward>
    <tndm:EffectiveIncomeTaxRateReconciliationNetOperatingLossCarryforward
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTpkZGE1ODM0OWVkZWI0YzczOTMxZWE2ZWZiZTRhYWU1OC90YWJsZXJhbmdlOmRkYTU4MzQ5ZWRlYjRjNzM5MzFlYTZlZmJlNGFhZTU4XzYtNS0xLTEtNTM4MzA_e7ea874f-a025-4c7e-8300-69afe9075f10"
      unitRef="usd">25043000</tndm:EffectiveIncomeTaxRateReconciliationNetOperatingLossCarryforward>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTpkZGE1ODM0OWVkZWI0YzczOTMxZWE2ZWZiZTRhYWU1OC90YWJsZXJhbmdlOmRkYTU4MzQ5ZWRlYjRjNzM5MzFlYTZlZmJlNGFhZTU4XzctMS0xLTEtNTM4MzA_4f1b2dd2-483e-43cb-974a-9f2a07d437f6"
      unitRef="usd">-7609000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTpkZGE1ODM0OWVkZWI0YzczOTMxZWE2ZWZiZTRhYWU1OC90YWJsZXJhbmdlOmRkYTU4MzQ5ZWRlYjRjNzM5MzFlYTZlZmJlNGFhZTU4XzctMy0xLTEtNTM4MzA_c4616d47-435f-4415-865a-b06bdc10852a"
      unitRef="usd">-18309000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTpkZGE1ODM0OWVkZWI0YzczOTMxZWE2ZWZiZTRhYWU1OC90YWJsZXJhbmdlOmRkYTU4MzQ5ZWRlYjRjNzM5MzFlYTZlZmJlNGFhZTU4XzctNS0xLTEtNTM4MzA_714ffd9e-ba9b-48b6-a523-4f34040cab75"
      unitRef="usd">-8974000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseShareBasedCompensationCost>
    <tndm:EffectiveIncomeTaxRateReconciliationOfficersCompensation
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTpkZGE1ODM0OWVkZWI0YzczOTMxZWE2ZWZiZTRhYWU1OC90YWJsZXJhbmdlOmRkYTU4MzQ5ZWRlYjRjNzM5MzFlYTZlZmJlNGFhZTU4XzgtMS0xLTEtNTM4MzA_2783ea7f-3196-4997-90fb-c89b21c02ba9"
      unitRef="usd">4024000</tndm:EffectiveIncomeTaxRateReconciliationOfficersCompensation>
    <tndm:EffectiveIncomeTaxRateReconciliationOfficersCompensation
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTpkZGE1ODM0OWVkZWI0YzczOTMxZWE2ZWZiZTRhYWU1OC90YWJsZXJhbmdlOmRkYTU4MzQ5ZWRlYjRjNzM5MzFlYTZlZmJlNGFhZTU4XzgtMy0xLTEtNTM4MzA_b7a771a9-975d-4ff7-943f-6ef89fe5cf9d"
      unitRef="usd">2612000</tndm:EffectiveIncomeTaxRateReconciliationOfficersCompensation>
    <tndm:EffectiveIncomeTaxRateReconciliationOfficersCompensation
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTpkZGE1ODM0OWVkZWI0YzczOTMxZWE2ZWZiZTRhYWU1OC90YWJsZXJhbmdlOmRkYTU4MzQ5ZWRlYjRjNzM5MzFlYTZlZmJlNGFhZTU4XzgtNS0xLTEtNTM4MzA_3e4141d2-ac07-43cb-9c0c-38db859f1565"
      unitRef="usd">3133000</tndm:EffectiveIncomeTaxRateReconciliationOfficersCompensation>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTpkZGE1ODM0OWVkZWI0YzczOTMxZWE2ZWZiZTRhYWU1OC90YWJsZXJhbmdlOmRkYTU4MzQ5ZWRlYjRjNzM5MzFlYTZlZmJlNGFhZTU4XzktMS0xLTEtNTM4MzA_0b340418-326b-4435-b900-e0534182931b"
      unitRef="usd">124000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTpkZGE1ODM0OWVkZWI0YzczOTMxZWE2ZWZiZTRhYWU1OC90YWJsZXJhbmdlOmRkYTU4MzQ5ZWRlYjRjNzM5MzFlYTZlZmJlNGFhZTU4XzktMy0xLTEtNTM4MzA_2ed7e056-9065-4cf0-a5e7-855b0f151266"
      unitRef="usd">479000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationOtherAdjustments
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTpkZGE1ODM0OWVkZWI0YzczOTMxZWE2ZWZiZTRhYWU1OC90YWJsZXJhbmdlOmRkYTU4MzQ5ZWRlYjRjNzM5MzFlYTZlZmJlNGFhZTU4XzktNS0xLTEtNTM4MzA_71a78740-9668-4a54-b0f0-60daa4495bb7"
      unitRef="usd">972000</us-gaap:IncomeTaxReconciliationOtherAdjustments>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTpkZGE1ODM0OWVkZWI0YzczOTMxZWE2ZWZiZTRhYWU1OC90YWJsZXJhbmdlOmRkYTU4MzQ5ZWRlYjRjNzM5MzFlYTZlZmJlNGFhZTU4XzEwLTEtMS0xLTUzODMw_01094aa0-5f92-4707-9c1a-19c129bc9152"
      unitRef="usd">6155000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTpkZGE1ODM0OWVkZWI0YzczOTMxZWE2ZWZiZTRhYWU1OC90YWJsZXJhbmdlOmRkYTU4MzQ5ZWRlYjRjNzM5MzFlYTZlZmJlNGFhZTU4XzEwLTMtMS0xLTUzODMw_f10b57b1-3c89-4279-8810-a3fc1b0991cc"
      unitRef="usd">24450000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTpkZGE1ODM0OWVkZWI0YzczOTMxZWE2ZWZiZTRhYWU1OC90YWJsZXJhbmdlOmRkYTU4MzQ5ZWRlYjRjNzM5MzFlYTZlZmJlNGFhZTU4XzEwLTUtMS0xLTUzODMw_fa5466de-487b-464c-a3a3-249302ba1566"
      unitRef="usd">-13919000</us-gaap:IncomeTaxReconciliationChangeInDeferredTaxAssetsValuationAllowance>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTpkZGE1ODM0OWVkZWI0YzczOTMxZWE2ZWZiZTRhYWU1OC90YWJsZXJhbmdlOmRkYTU4MzQ5ZWRlYjRjNzM5MzFlYTZlZmJlNGFhZTU4XzExLTEtMS0xLTUzODMw_5a551819-8f30-4749-a54a-4e92b15b3daf"
      unitRef="usd">335000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTpkZGE1ODM0OWVkZWI0YzczOTMxZWE2ZWZiZTRhYWU1OC90YWJsZXJhbmdlOmRkYTU4MzQ5ZWRlYjRjNzM5MzFlYTZlZmJlNGFhZTU4XzExLTMtMS0xLTUzODMw_02d1882f-0a97-4fbb-a2f3-390a1b4534cd"
      unitRef="usd">-1900000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTpkZGE1ODM0OWVkZWI0YzczOTMxZWE2ZWZiZTRhYWU1OC90YWJsZXJhbmdlOmRkYTU4MzQ5ZWRlYjRjNzM5MzFlYTZlZmJlNGFhZTU4XzExLTUtMS0xLTUzODMw_3c3f7b0e-1951-40a1-8567-c4b4d6f6327d"
      unitRef="usd">149000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90ZXh0cmVnaW9uOjRhYTYwYTQ0NTI2YjQxZjA4MWU3NDk2MDMwZGEwOGU5XzExMDc_44148ecc-b551-48cd-b0a8-3566ac4856ce"
      unitRef="usd">146400000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90ZXh0cmVnaW9uOjRhYTYwYTQ0NTI2YjQxZjA4MWU3NDk2MDMwZGEwOGU5XzExMTQ_68b64c5f-348f-4d6a-8d6f-8b1a185c88b6"
      unitRef="usd">121600000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90ZXh0cmVnaW9uOjRhYTYwYTQ0NTI2YjQxZjA4MWU3NDk2MDMwZGEwOGU5XzYxODI_fb539be9-60e1-4fd8-b54d-9353aed5d8ea">&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:70.811%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.576%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.578%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net operating loss (NOL) carryforwards&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78,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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;86,898&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research and development tax credits carryforwards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,261&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capitalized research and development expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,135&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,840&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued compensation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,970&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,038&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,012&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,112&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,608&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,096&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;158,447&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;147,245&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Convertible senior notes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,224)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Fixed 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,847)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,675)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,177)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,719)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total deferred tax liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12,024)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(25,618)&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 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less valuation allowance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(146,423)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(121,627)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net deferred tax assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo5Y2E4M2UyMDQzNjY0ZGJlOTFjYzBmOTM3YzQ3YTc0Zi90YWJsZXJhbmdlOjljYTgzZTIwNDM2NjRkYmU5MWNjMGY5MzdjNDdhNzRmXzMtMS0xLTEtNTM4MzA_cb3a8807-be87-4683-8421-b17d88c94e95"
      unitRef="usd">78961000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsOperatingLossCarryforwards
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo5Y2E4M2UyMDQzNjY0ZGJlOTFjYzBmOTM3YzQ3YTc0Zi90YWJsZXJhbmdlOjljYTgzZTIwNDM2NjRkYmU5MWNjMGY5MzdjNDdhNzRmXzMtMy0xLTEtNTM4MzA_9973926a-05cd-46d7-a1fd-a8991eafae1d"
      unitRef="usd">86898000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwards>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo5Y2E4M2UyMDQzNjY0ZGJlOTFjYzBmOTM3YzQ3YTc0Zi90YWJsZXJhbmdlOjljYTgzZTIwNDM2NjRkYmU5MWNjMGY5MzdjNDdhNzRmXzQtMS0xLTEtNTM4MzA_e577d16c-6d6c-4476-89b8-1f08bedd049b"
      unitRef="usd">16761000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
    <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo5Y2E4M2UyMDQzNjY0ZGJlOTFjYzBmOTM3YzQ3YTc0Zi90YWJsZXJhbmdlOjljYTgzZTIwNDM2NjRkYmU5MWNjMGY5MzdjNDdhNzRmXzQtMy0xLTEtNTM4MzA_c5a7a7b0-a8ea-48c0-9c30-8f24544fcc00"
      unitRef="usd">11261000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo5Y2E4M2UyMDQzNjY0ZGJlOTFjYzBmOTM3YzQ3YTc0Zi90YWJsZXJhbmdlOjljYTgzZTIwNDM2NjRkYmU5MWNjMGY5MzdjNDdhNzRmXzUtMS0xLTEtNTM4MzA_608daa4a-4c10-4117-9aa8-fdd76227a2e9"
      unitRef="usd">5135000</us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment>
    <us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo5Y2E4M2UyMDQzNjY0ZGJlOTFjYzBmOTM3YzQ3YTc0Zi90YWJsZXJhbmdlOjljYTgzZTIwNDM2NjRkYmU5MWNjMGY5MzdjNDdhNzRmXzUtMy0xLTEtNTM4MzA_21456d20-8035-4cb1-8b9c-58eb7576cf24"
      unitRef="usd">6840000</us-gaap:DeferredTaxAssetsInProcessResearchAndDevelopment>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo5Y2E4M2UyMDQzNjY0ZGJlOTFjYzBmOTM3YzQ3YTc0Zi90YWJsZXJhbmdlOjljYTgzZTIwNDM2NjRkYmU5MWNjMGY5MzdjNDdhNzRmXzYtMS0xLTEtNTM4MzA_6e17e86b-d938-43b0-b464-ba2919fb393c"
      unitRef="usd">28970000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation>
    <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo5Y2E4M2UyMDQzNjY0ZGJlOTFjYzBmOTM3YzQ3YTc0Zi90YWJsZXJhbmdlOjljYTgzZTIwNDM2NjRkYmU5MWNjMGY5MzdjNDdhNzRmXzYtMy0xLTEtNTM4MzA_02c58911-abe6-4868-9fe5-ad8828d772d3"
      unitRef="usd">24038000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation>
    <tndm:DeferredTaxAssetsLeaseLiabilities
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo5Y2E4M2UyMDQzNjY0ZGJlOTFjYzBmOTM3YzQ3YTc0Zi90YWJsZXJhbmdlOjljYTgzZTIwNDM2NjRkYmU5MWNjMGY5MzdjNDdhNzRmXzctMS0xLTEtNTM4MzA_c188bcf4-ff82-4a2c-81b8-cead845cf43f"
      unitRef="usd">8012000</tndm:DeferredTaxAssetsLeaseLiabilities>
    <tndm:DeferredTaxAssetsLeaseLiabilities
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo5Y2E4M2UyMDQzNjY0ZGJlOTFjYzBmOTM3YzQ3YTc0Zi90YWJsZXJhbmdlOjljYTgzZTIwNDM2NjRkYmU5MWNjMGY5MzdjNDdhNzRmXzctMy0xLTEtNTM4MzA_1d16378c-4183-42e9-ab1d-cd4493d46039"
      unitRef="usd">6112000</tndm:DeferredTaxAssetsLeaseLiabilities>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo5Y2E4M2UyMDQzNjY0ZGJlOTFjYzBmOTM3YzQ3YTc0Zi90YWJsZXJhbmdlOjljYTgzZTIwNDM2NjRkYmU5MWNjMGY5MzdjNDdhNzRmXzgtMS0xLTEtNTM4MzA_45553e61-b31d-4db0-8955-8a60c01bea29"
      unitRef="usd">20608000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsOther
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo5Y2E4M2UyMDQzNjY0ZGJlOTFjYzBmOTM3YzQ3YTc0Zi90YWJsZXJhbmdlOjljYTgzZTIwNDM2NjRkYmU5MWNjMGY5MzdjNDdhNzRmXzgtMy0xLTEtNTM4MzA_b5256f78-ca44-4fd5-890b-aabc0bd3014b"
      unitRef="usd">12096000</us-gaap:DeferredTaxAssetsOther>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo5Y2E4M2UyMDQzNjY0ZGJlOTFjYzBmOTM3YzQ3YTc0Zi90YWJsZXJhbmdlOjljYTgzZTIwNDM2NjRkYmU5MWNjMGY5MzdjNDdhNzRmXzktMS0xLTEtNTM4MzA_e1b10fd7-9d01-4756-9124-157656ac0bc8"
      unitRef="usd">158447000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxAssetsGross
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo5Y2E4M2UyMDQzNjY0ZGJlOTFjYzBmOTM3YzQ3YTc0Zi90YWJsZXJhbmdlOjljYTgzZTIwNDM2NjRkYmU5MWNjMGY5MzdjNDdhNzRmXzktMy0xLTEtNTM4MzA_d1b062d6-b513-4334-b102-721da1ffb158"
      unitRef="usd">147245000</us-gaap:DeferredTaxAssetsGross>
    <us-gaap:DeferredTaxLiabilitiesFinancingArrangements
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo5Y2E4M2UyMDQzNjY0ZGJlOTFjYzBmOTM3YzQ3YTc0Zi90YWJsZXJhbmdlOjljYTgzZTIwNDM2NjRkYmU5MWNjMGY5MzdjNDdhNzRmXzExLTEtMS0xLTUzODMw_2ae5a243-c8c9-4eb6-9530-f4fadc242662"
      unitRef="usd">0</us-gaap:DeferredTaxLiabilitiesFinancingArrangements>
    <us-gaap:DeferredTaxLiabilitiesFinancingArrangements
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo5Y2E4M2UyMDQzNjY0ZGJlOTFjYzBmOTM3YzQ3YTc0Zi90YWJsZXJhbmdlOjljYTgzZTIwNDM2NjRkYmU5MWNjMGY5MzdjNDdhNzRmXzExLTMtMS0xLTUzODMw_2f0ddd7c-7637-407c-85dd-d0bfd853f3ed"
      unitRef="usd">11224000</us-gaap:DeferredTaxLiabilitiesFinancingArrangements>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo5Y2E4M2UyMDQzNjY0ZGJlOTFjYzBmOTM3YzQ3YTc0Zi90YWJsZXJhbmdlOjljYTgzZTIwNDM2NjRkYmU5MWNjMGY5MzdjNDdhNzRmXzEyLTEtMS0xLTUzODMw_35dea19d-0d64-4cb8-a975-0ec055815c65"
      unitRef="usd">3847000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo5Y2E4M2UyMDQzNjY0ZGJlOTFjYzBmOTM3YzQ3YTc0Zi90YWJsZXJhbmdlOjljYTgzZTIwNDM2NjRkYmU5MWNjMGY5MzdjNDdhNzRmXzEyLTMtMS0xLTUzODMw_e9f28d15-0995-410d-8394-9121056ad971"
      unitRef="usd">7675000</us-gaap:DeferredTaxLiabilitiesPropertyPlantAndEquipment>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo5Y2E4M2UyMDQzNjY0ZGJlOTFjYzBmOTM3YzQ3YTc0Zi90YWJsZXJhbmdlOjljYTgzZTIwNDM2NjRkYmU5MWNjMGY5MzdjNDdhNzRmXzEzLTEtMS0xLTUzODMw_8f6e376f-5e93-4861-93c2-f1509d3255cf"
      unitRef="usd">8177000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredTaxLiabilitiesOther
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo5Y2E4M2UyMDQzNjY0ZGJlOTFjYzBmOTM3YzQ3YTc0Zi90YWJsZXJhbmdlOjljYTgzZTIwNDM2NjRkYmU5MWNjMGY5MzdjNDdhNzRmXzEzLTMtMS0xLTUzODMw_02025d68-fdf9-41bb-aeed-7d718cd7e8eb"
      unitRef="usd">6719000</us-gaap:DeferredTaxLiabilitiesOther>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo5Y2E4M2UyMDQzNjY0ZGJlOTFjYzBmOTM3YzQ3YTc0Zi90YWJsZXJhbmdlOjljYTgzZTIwNDM2NjRkYmU5MWNjMGY5MzdjNDdhNzRmXzE0LTEtMS0xLTUzODMw_08a71089-85f5-4d01-97c5-cef21002aaf6"
      unitRef="usd">12024000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredIncomeTaxLiabilities
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo5Y2E4M2UyMDQzNjY0ZGJlOTFjYzBmOTM3YzQ3YTc0Zi90YWJsZXJhbmdlOjljYTgzZTIwNDM2NjRkYmU5MWNjMGY5MzdjNDdhNzRmXzE0LTMtMS0xLTUzODMw_3bbfacfd-40e3-4d32-866f-b2bcb3169263"
      unitRef="usd">25618000</us-gaap:DeferredIncomeTaxLiabilities>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo5Y2E4M2UyMDQzNjY0ZGJlOTFjYzBmOTM3YzQ3YTc0Zi90YWJsZXJhbmdlOjljYTgzZTIwNDM2NjRkYmU5MWNjMGY5MzdjNDdhNzRmXzE1LTEtMS0xLTUzODMw_383a3946-19fd-4159-83c9-5110bca1a5ad"
      unitRef="usd">146423000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsValuationAllowance
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo5Y2E4M2UyMDQzNjY0ZGJlOTFjYzBmOTM3YzQ3YTc0Zi90YWJsZXJhbmdlOjljYTgzZTIwNDM2NjRkYmU5MWNjMGY5MzdjNDdhNzRmXzE1LTMtMS0xLTUzODMw_d44f6900-bcbf-48ac-99b5-2cab9fee0315"
      unitRef="usd">121627000</us-gaap:DeferredTaxAssetsValuationAllowance>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo5Y2E4M2UyMDQzNjY0ZGJlOTFjYzBmOTM3YzQ3YTc0Zi90YWJsZXJhbmdlOjljYTgzZTIwNDM2NjRkYmU5MWNjMGY5MzdjNDdhNzRmXzE2LTEtMS0xLTUzODMw_0a5e4a72-2f7d-4b73-a89c-2fbe6730498e"
      unitRef="usd">0</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:DeferredTaxAssetsLiabilitiesNet
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo5Y2E4M2UyMDQzNjY0ZGJlOTFjYzBmOTM3YzQ3YTc0Zi90YWJsZXJhbmdlOjljYTgzZTIwNDM2NjRkYmU5MWNjMGY5MzdjNDdhNzRmXzE2LTMtMS0xLTUzODMw_e646960c-e8f7-45a0-bae9-db3c7e6bbdf7"
      unitRef="usd">0</us-gaap:DeferredTaxAssetsLiabilitiesNet>
    <us-gaap:OperatingLossCarryforwards
      contextRef="i0012558cde5f416aab7c4d729f07df76_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90ZXh0cmVnaW9uOjRhYTYwYTQ0NTI2YjQxZjA4MWU3NDk2MDMwZGEwOGU5XzE3MDI_c6f4ffc7-ec0a-4257-8c01-8e2dab00b9a0"
      unitRef="usd">301200000</us-gaap:OperatingLossCarryforwards>
    <us-gaap:OperatingLossCarryforwards
      contextRef="i15a26c41258943a9828806e74ff24d14_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90ZXh0cmVnaW9uOjRhYTYwYTQ0NTI2YjQxZjA4MWU3NDk2MDMwZGEwOGU5XzE3MTg_eca168cf-0e12-469b-8f02-d5f7a26088d8"
      unitRef="usd">291000000.0</us-gaap:OperatingLossCarryforwards>
    <tndm:OperatingLossCarryforwardNotSubjectToExpiration
      contextRef="i0012558cde5f416aab7c4d729f07df76_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90ZXh0cmVnaW9uOjRhYTYwYTQ0NTI2YjQxZjA4MWU3NDk2MDMwZGEwOGU5XzQzOTgwNDY1Mjg3Mjg_09bf15e1-5e6f-43fe-b1a1-c08f27bdbbc5"
      unitRef="usd">112100000</tndm:OperatingLossCarryforwardNotSubjectToExpiration>
    <tndm:OperatingLossCarryforwardsSubjectToExpiration
      contextRef="i0012558cde5f416aab7c4d729f07df76_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90ZXh0cmVnaW9uOjRhYTYwYTQ0NTI2YjQxZjA4MWU3NDk2MDMwZGEwOGU5XzQzOTgwNDY1Mjg3NDQ_23c3cc92-d264-406c-8bf3-662b3c306a25"
      unitRef="usd">189100000</tndm:OperatingLossCarryforwardsSubjectToExpiration>
    <tndm:OperatingLossCarryforwardsSubjectToExpiration
      contextRef="ie40fc4f16f2d4040b73e8b855e182f63_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90ZXh0cmVnaW9uOjRhYTYwYTQ0NTI2YjQxZjA4MWU3NDk2MDMwZGEwOGU5XzIyNDA_08113fbf-9c73-49e8-9a50-85abb526083c"
      unitRef="usd">171800000</tndm:OperatingLossCarryforwardsSubjectToExpiration>
    <us-gaap:TaxCreditCarryforwardAmount
      contextRef="ia1cb96982dea4482bf8b1d64da85f12c_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90ZXh0cmVnaW9uOjRhYTYwYTQ0NTI2YjQxZjA4MWU3NDk2MDMwZGEwOGU5XzI0MjE_73781260-f083-4096-9630-5ecbe7f54ca4"
      unitRef="usd">12900000</us-gaap:TaxCreditCarryforwardAmount>
    <us-gaap:TaxCreditCarryforwardAmount
      contextRef="i103be8e753d84cd8bcd3eb872875be7f_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90ZXh0cmVnaW9uOjRhYTYwYTQ0NTI2YjQxZjA4MWU3NDk2MDMwZGEwOGU5XzI0Mjg_62e62e77-ed90-47f4-a811-14fd61976d48"
      unitRef="usd">15500000</us-gaap:TaxCreditCarryforwardAmount>
    <tndm:IncomeTaxExaminationRealizationPercent
      contextRef="i54818effce584fa99947d198058982f8_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90ZXh0cmVnaW9uOjRhYTYwYTQ0NTI2YjQxZjA4MWU3NDk2MDMwZGEwOGU5XzQ4NDE_0ba8cd52-2b2e-4fd4-8847-d3e409b326ae"
      unitRef="number">0.50</tndm:IncomeTaxExaminationRealizationPercent>
    <us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90ZXh0cmVnaW9uOjRhYTYwYTQ0NTI2YjQxZjA4MWU3NDk2MDMwZGEwOGU5XzYxNzE_20763ed6-29a5-41e9-ab60-c7e16e2379bd">&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the activity related to the Company&#x2019;s gross unrecognized tax benefits at the beginning and end of the years ended December&#160;31, 2021, 2020 and 2019 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.280%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.622%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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 #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross unrecognized tax benefits at the beginning of the year&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,580&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,824&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Increases related to current year positions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,482&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,234&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,076&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Increases (decreases) related to prior year positions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,293&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,320)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross unrecognized tax benefits at the end of the year&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,589&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,580&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo1MmIyYzlhMDMyOTI0OWI5OTY4MzZiNjkwZmQ4NmJmMy90YWJsZXJhbmdlOjUyYjJjOWEwMzI5MjQ5Yjk5NjgzNmI2OTBmZDg2YmYzXzItMS0xLTEtNTM4MzA_8ef5b8a4-31c3-4d8a-9022-061a426e3578"
      unitRef="usd">10107000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="ia35d79f7a8cd4f3e92d3a94270701280_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo1MmIyYzlhMDMyOTI0OWI5OTY4MzZiNjkwZmQ4NmJmMy90YWJsZXJhbmdlOjUyYjJjOWEwMzI5MjQ5Yjk5NjgzNmI2OTBmZDg2YmYzXzItMy0xLTEtNTM4MzA_663a2b9b-a663-4cc9-a392-f6900d2de65a"
      unitRef="usd">6580000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i1be26f57e9264ee580a0723df09ac283_I20181231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo1MmIyYzlhMDMyOTI0OWI5OTY4MzZiNjkwZmQ4NmJmMy90YWJsZXJhbmdlOjUyYjJjOWEwMzI5MjQ5Yjk5NjgzNmI2OTBmZDg2YmYzXzItNS0xLTEtNTM4MzA_a4fb0129-220f-4da7-941b-be18abe5a71f"
      unitRef="usd">8824000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo1MmIyYzlhMDMyOTI0OWI5OTY4MzZiNjkwZmQ4NmJmMy90YWJsZXJhbmdlOjUyYjJjOWEwMzI5MjQ5Yjk5NjgzNmI2OTBmZDg2YmYzXzMtMS0xLTEtNTM4MzA_ce1cd438-dfaf-4d58-9a3f-47e476cfd504"
      unitRef="usd">3482000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo1MmIyYzlhMDMyOTI0OWI5OTY4MzZiNjkwZmQ4NmJmMy90YWJsZXJhbmdlOjUyYjJjOWEwMzI5MjQ5Yjk5NjgzNmI2OTBmZDg2YmYzXzMtMy0xLTEtNTM4MzA_81eb4d6f-bd79-4b57-8a84-6b8cd340fd80"
      unitRef="usd">2234000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo1MmIyYzlhMDMyOTI0OWI5OTY4MzZiNjkwZmQ4NmJmMy90YWJsZXJhbmdlOjUyYjJjOWEwMzI5MjQ5Yjk5NjgzNmI2OTBmZDg2YmYzXzMtNS0xLTEtNTM4MzA_5aecbd42-e33a-466f-be10-becbb1bf273a"
      unitRef="usd">1076000</us-gaap:UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions>
    <tndm:UnrecognizedTaxBenefitsIncreasesDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo1MmIyYzlhMDMyOTI0OWI5OTY4MzZiNjkwZmQ4NmJmMy90YWJsZXJhbmdlOjUyYjJjOWEwMzI5MjQ5Yjk5NjgzNmI2OTBmZDg2YmYzXzQtMS0xLTEtNTM4MzA_18684f8b-541f-4d17-962a-9841025ede52"
      unitRef="usd">0</tndm:UnrecognizedTaxBenefitsIncreasesDecreasesResultingFromPriorPeriodTaxPositions>
    <tndm:UnrecognizedTaxBenefitsIncreasesDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo1MmIyYzlhMDMyOTI0OWI5OTY4MzZiNjkwZmQ4NmJmMy90YWJsZXJhbmdlOjUyYjJjOWEwMzI5MjQ5Yjk5NjgzNmI2OTBmZDg2YmYzXzQtMy0xLTEtNTM4MzA_25ff1798-c7b6-4579-af76-88f0ac4b5c8b"
      unitRef="usd">1293000</tndm:UnrecognizedTaxBenefitsIncreasesDecreasesResultingFromPriorPeriodTaxPositions>
    <tndm:UnrecognizedTaxBenefitsIncreasesDecreasesResultingFromPriorPeriodTaxPositions
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo1MmIyYzlhMDMyOTI0OWI5OTY4MzZiNjkwZmQ4NmJmMy90YWJsZXJhbmdlOjUyYjJjOWEwMzI5MjQ5Yjk5NjgzNmI2OTBmZDg2YmYzXzQtNS0xLTEtNTM4MzA_616bfb83-49be-478c-89d9-55e732fa8464"
      unitRef="usd">-3320000</tndm:UnrecognizedTaxBenefitsIncreasesDecreasesResultingFromPriorPeriodTaxPositions>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo1MmIyYzlhMDMyOTI0OWI5OTY4MzZiNjkwZmQ4NmJmMy90YWJsZXJhbmdlOjUyYjJjOWEwMzI5MjQ5Yjk5NjgzNmI2OTBmZDg2YmYzXzUtMS0xLTEtNTM4MzA_cf78fa96-36dc-4c85-a9f5-d6c998e747d8"
      unitRef="usd">13589000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo1MmIyYzlhMDMyOTI0OWI5OTY4MzZiNjkwZmQ4NmJmMy90YWJsZXJhbmdlOjUyYjJjOWEwMzI5MjQ5Yjk5NjgzNmI2OTBmZDg2YmYzXzUtMy0xLTEtNTM4MzA_1da8d760-3d53-4bc3-ae66-7d1915e4e84e"
      unitRef="usd">10107000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefits
      contextRef="ia35d79f7a8cd4f3e92d3a94270701280_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90YWJsZTo1MmIyYzlhMDMyOTI0OWI5OTY4MzZiNjkwZmQ4NmJmMy90YWJsZXJhbmdlOjUyYjJjOWEwMzI5MjQ5Yjk5NjgzNmI2OTBmZDg2YmYzXzUtNS0xLTEtNTM4MzA_3391ea5a-1a47-4500-86b1-eb2c41e80924"
      unitRef="usd">6580000</us-gaap:UnrecognizedTaxBenefits>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90ZXh0cmVnaW9uOjRhYTYwYTQ0NTI2YjQxZjA4MWU3NDk2MDMwZGEwOGU5XzUxMjI_7bd4c244-f15d-440a-b1f7-8d4b504236c4"
      unitRef="usd">11800000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued
      contextRef="i652278129baf4b4eab84d254b32e23f4_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90ZXh0cmVnaW9uOjRhYTYwYTQ0NTI2YjQxZjA4MWU3NDk2MDMwZGEwOGU5XzUzOTE_1c756dde-ef9e-4161-b554-43fce7565c77"
      unitRef="usd">0</us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued>
    <us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNDUvZnJhZzo0YWE2MGE0NDUyNmI0MWYwODFlNzQ5NjAzMGRhMDhlOS90ZXh0cmVnaW9uOjRhYTYwYTQ0NTI2YjQxZjA4MWU3NDk2MDMwZGEwOGU5XzUzOTE_74964f3c-c5bf-4eae-936c-914d7d9f9766"
      unitRef="usd">0</us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTQvZnJhZzo5ZDExOGQzNDI0NzA0MzRiOTdlNGFjY2U5MzdkZjJjMy90ZXh0cmVnaW9uOjlkMTE4ZDM0MjQ3MDQzNGI5N2U0YWNjZTkzN2RmMmMzXzIwMDE_20bdf049-516a-4804-9624-95bc376d0b3d">Business Segment and Geographic Information&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Segment Reporting&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating segments are identified as components of an enterprise about which discrete financial information is available for evaluation by the chief operating decision-maker (CODM) in making decisions regarding resource allocation and assessing performance. The Company is organized based on its current product portfolio, which consists primarily of insulin pumps, disposable insulin cartridges and infusion sets for the storage and delivery of insulin. The Company views its operations and manages its business as one segment and a single reporting unit because key operating decisions and resource allocations are made by the CODM using consolidated financial data.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Disaggregation of Revenue&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company primarily sells its products through national and regional distributors in the United States on a non-exclusive basis, and through distribution partners outside the United States, including in select European countries, Canada, Australia, New Zealand, Saudi Arabia and South Africa. In the United States and Canada, the Company utilizes a direct sales force. The Company disaggregates its revenue by geography and by major sales channel as management believes these categories best depict how the nature, amount and timing of revenues and cash flows are affected by economic factors.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Revenues by Geographic Region and Customer Sales Channel&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the years ended December 31, 2021, 2020 and 2019, no individual country outside the United States generated revenue that represented more than 10% of total revenue. The table below sets forth revenues for the Company&#x2019;s two primary geographical markets, based on the geographic location to which its products are shipped (in thousands).&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:56.648%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.500%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;For the Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;524,907&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;415,680&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;302,084&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;International&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;177,892&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;83,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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60,221&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;702,799&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align: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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;498,830&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align: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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;362,305&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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;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;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;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:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Sales to distributors accounted for 67%, 70%, and 73% of the Company&#x2019;s total domestic sales for the years ended December&#160;31, 2021, 2020 and 2019, respectively. Sales to distributors accounted for 95%, 94%, and 92% of the Company&#x2019;s total international sales for the years ended December&#160;31, 2021, 2020 and 2019, respectively.&lt;/span&gt;&lt;/div&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:SegmentReportingPolicyPolicyTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTQvZnJhZzo5ZDExOGQzNDI0NzA0MzRiOTdlNGFjY2U5MzdkZjJjMy90ZXh0cmVnaW9uOjlkMTE4ZDM0MjQ3MDQzNGI5N2U0YWNjZTkzN2RmMmMzXzIwMDI_330820f8-247e-4226-a647-ddf17e362856">&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Segment Reporting&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating segments are identified as components of an enterprise about which discrete financial information is available for evaluation by the chief operating decision-maker (CODM) in making decisions regarding resource allocation and assessing performance. The Company is organized based on its current product portfolio, which consists primarily of insulin pumps, disposable insulin cartridges and infusion sets for the storage and delivery of insulin. The Company views its operations and manages its business as one segment and a single reporting unit because key operating decisions and resource allocations are made by the CODM using consolidated financial data.&lt;/span&gt;&lt;/div&gt;</us-gaap:SegmentReportingPolicyPolicyTextBlock>
    <us-gaap:NumberOfOperatingSegments
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTQvZnJhZzo5ZDExOGQzNDI0NzA0MzRiOTdlNGFjY2U5MzdkZjJjMy90ZXh0cmVnaW9uOjlkMTE4ZDM0MjQ3MDQzNGI5N2U0YWNjZTkzN2RmMmMzXzU3OQ_19bccd6f-3810-4876-8ab8-44cd07fb98c6"
      unitRef="segment">1</us-gaap:NumberOfOperatingSegments>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTQvZnJhZzo5ZDExOGQzNDI0NzA0MzRiOTdlNGFjY2U5MzdkZjJjMy90ZXh0cmVnaW9uOjlkMTE4ZDM0MjQ3MDQzNGI5N2U0YWNjZTkzN2RmMmMzXzIwMDA_540943fd-d911-4ade-b53f-10d47834f882">The table below sets forth revenues for the Company&#x2019;s two primary geographical markets, based on the geographic location to which its products are shipped (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:56.648%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.496%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.500%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;For the Year Ended December 31,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;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="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2019&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;524,907&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;415,680&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;302,084&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;International&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;177,892&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;83,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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60,221&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total Sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;702,799&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align: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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;498,830&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align: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 #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-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 #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;362,305&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/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;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;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;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;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie618dc7242c544dea5d02499f59bd767_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTQvZnJhZzo5ZDExOGQzNDI0NzA0MzRiOTdlNGFjY2U5MzdkZjJjMy90YWJsZTpmY2YzYTlhODkwOWU0ZDRiYTJmMGM4MTg0OGM0NDdiNC90YWJsZXJhbmdlOmZjZjNhOWE4OTA5ZTRkNGJhMmYwYzgxODQ4YzQ0N2I0XzItMS0xLTEtNTM4MzA_38ede649-1a14-4932-aefc-e2555bc8dfa7"
      unitRef="usd">524907000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if16689b1c5d44115a4d1baa2e69ee5a9_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTQvZnJhZzo5ZDExOGQzNDI0NzA0MzRiOTdlNGFjY2U5MzdkZjJjMy90YWJsZTpmY2YzYTlhODkwOWU0ZDRiYTJmMGM4MTg0OGM0NDdiNC90YWJsZXJhbmdlOmZjZjNhOWE4OTA5ZTRkNGJhMmYwYzgxODQ4YzQ0N2I0XzItMy0xLTEtNTM4MzA_23f1b16e-6eb7-4fa9-b2f3-3490ae866f98"
      unitRef="usd">415680000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6638855c80f84f7b8934ba23ca78dba2_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTQvZnJhZzo5ZDExOGQzNDI0NzA0MzRiOTdlNGFjY2U5MzdkZjJjMy90YWJsZTpmY2YzYTlhODkwOWU0ZDRiYTJmMGM4MTg0OGM0NDdiNC90YWJsZXJhbmdlOmZjZjNhOWE4OTA5ZTRkNGJhMmYwYzgxODQ4YzQ0N2I0XzItNS0xLTEtNTM4MzA_8e388d14-7d86-4116-aaa4-d70d32d8ba32"
      unitRef="usd">302084000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie137a656730140379f1352e8a73b8a68_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTQvZnJhZzo5ZDExOGQzNDI0NzA0MzRiOTdlNGFjY2U5MzdkZjJjMy90YWJsZTpmY2YzYTlhODkwOWU0ZDRiYTJmMGM4MTg0OGM0NDdiNC90YWJsZXJhbmdlOmZjZjNhOWE4OTA5ZTRkNGJhMmYwYzgxODQ4YzQ0N2I0XzMtMS0xLTEtNTM4MzA_d465b697-e319-455d-abff-3f4fb1db0804"
      unitRef="usd">177892000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i03eb98d71ee34ee38f7a45030f208a21_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTQvZnJhZzo5ZDExOGQzNDI0NzA0MzRiOTdlNGFjY2U5MzdkZjJjMy90YWJsZTpmY2YzYTlhODkwOWU0ZDRiYTJmMGM4MTg0OGM0NDdiNC90YWJsZXJhbmdlOmZjZjNhOWE4OTA5ZTRkNGJhMmYwYzgxODQ4YzQ0N2I0XzMtMy0xLTEtNTM4MzA_ac14e9ae-5198-4d3b-87ed-5c2dbf9e1dfd"
      unitRef="usd">83150000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i60f1a973f1f542a28a8f756f87ff4ffa_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTQvZnJhZzo5ZDExOGQzNDI0NzA0MzRiOTdlNGFjY2U5MzdkZjJjMy90YWJsZTpmY2YzYTlhODkwOWU0ZDRiYTJmMGM4MTg0OGM0NDdiNC90YWJsZXJhbmdlOmZjZjNhOWE4OTA5ZTRkNGJhMmYwYzgxODQ4YzQ0N2I0XzMtNS0xLTEtNTM4MzA_31b63340-fadb-4ae2-a1c4-70e09189b32f"
      unitRef="usd">60221000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTQvZnJhZzo5ZDExOGQzNDI0NzA0MzRiOTdlNGFjY2U5MzdkZjJjMy90YWJsZTpmY2YzYTlhODkwOWU0ZDRiYTJmMGM4MTg0OGM0NDdiNC90YWJsZXJhbmdlOmZjZjNhOWE4OTA5ZTRkNGJhMmYwYzgxODQ4YzQ0N2I0XzQtMS0xLTEtNTM4MzA_a9263331-9158-43bf-b52f-f4f6fddf3f04"
      unitRef="usd">702799000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTQvZnJhZzo5ZDExOGQzNDI0NzA0MzRiOTdlNGFjY2U5MzdkZjJjMy90YWJsZTpmY2YzYTlhODkwOWU0ZDRiYTJmMGM4MTg0OGM0NDdiNC90YWJsZXJhbmdlOmZjZjNhOWE4OTA5ZTRkNGJhMmYwYzgxODQ4YzQ0N2I0XzQtMy0xLTEtNTM4MzA_f7dd4d43-55f9-4bca-8a12-80bb2ce4797a"
      unitRef="usd">498830000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4b580370d5664bb4a8de9acd18b50f53_D20190101-20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTQvZnJhZzo5ZDExOGQzNDI0NzA0MzRiOTdlNGFjY2U5MzdkZjJjMy90YWJsZTpmY2YzYTlhODkwOWU0ZDRiYTJmMGM4MTg0OGM0NDdiNC90YWJsZXJhbmdlOmZjZjNhOWE4OTA5ZTRkNGJhMmYwYzgxODQ4YzQ0N2I0XzQtNS0xLTEtNTM4MzA_33457428-4666-4a93-bad3-db2d4c113177"
      unitRef="usd">362305000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i2fea7573c1144a788e3f202ca8693bb7_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTQvZnJhZzo5ZDExOGQzNDI0NzA0MzRiOTdlNGFjY2U5MzdkZjJjMy90ZXh0cmVnaW9uOjlkMTE4ZDM0MjQ3MDQzNGI5N2U0YWNjZTkzN2RmMmMzXzE3NTY_c941cbe0-2eaf-48f0-a447-f3b04db847f2"
      unitRef="number">0.67</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i24403860aada427ca4fa7c702ee57621_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTQvZnJhZzo5ZDExOGQzNDI0NzA0MzRiOTdlNGFjY2U5MzdkZjJjMy90ZXh0cmVnaW9uOjlkMTE4ZDM0MjQ3MDQzNGI5N2U0YWNjZTkzN2RmMmMzXzE3NjA_edf3d5f6-2c85-4e22-8611-bc8e5059eaab"
      unitRef="number">0.70</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="idb43b6931b7e46788747721b81c755ce_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTQvZnJhZzo5ZDExOGQzNDI0NzA0MzRiOTdlNGFjY2U5MzdkZjJjMy90ZXh0cmVnaW9uOjlkMTE4ZDM0MjQ3MDQzNGI5N2U0YWNjZTkzN2RmMmMzXzIxOTkwMjMyNTk3NzM_2c237eed-1bf2-456d-8508-ddc125280b10"
      unitRef="number">0.73</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i36c7834678d547b4839e9cf2511bc55c_D20210101-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTQvZnJhZzo5ZDExOGQzNDI0NzA0MzRiOTdlNGFjY2U5MzdkZjJjMy90ZXh0cmVnaW9uOjlkMTE4ZDM0MjQ3MDQzNGI5N2U0YWNjZTkzN2RmMmMzXzIxOTkwMjMyNTk3Nzc_19296390-e4e7-43bf-a106-d17228c9de5b"
      unitRef="number">0.95</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i46d424c0374346e7b0363d4c6ceb7974_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTQvZnJhZzo5ZDExOGQzNDI0NzA0MzRiOTdlNGFjY2U5MzdkZjJjMy90ZXh0cmVnaW9uOjlkMTE4ZDM0MjQ3MDQzNGI5N2U0YWNjZTkzN2RmMmMzXzIxOTkwMjMyNTk3ODE_d3066c5b-6d24-43a0-bb24-31ac06a6df67"
      unitRef="number">0.94</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i2bc5dde336ba497a9a4e3ec19e07c23c_D20190101-20191231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTQvZnJhZzo5ZDExOGQzNDI0NzA0MzRiOTdlNGFjY2U5MzdkZjJjMy90ZXh0cmVnaW9uOjlkMTE4ZDM0MjQ3MDQzNGI5N2U0YWNjZTkzN2RmMmMzXzIxOTkwMjMyNTk3ODU_2780c6e6-70d0-4487-8d8a-6f6663ee53f4"
      unitRef="number">0.92</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTEvZnJhZzo3MWIzMDQ5NzJjZWI0MzNkOTllZmVhMzdkYzVmNDAyYy90ZXh0cmVnaW9uOjcxYjMwNDk3MmNlYjQzM2Q5OWVmZWEzN2RjNWY0MDJjXzQ5Mzk_f5c0e1a2-0cc8-4e5a-ac03-7e32a81e7768">Commitments and Contingencies&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Legal and Regulatory Matters&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:1pt;text-indent:45pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In April 2020, the Company was named as a defendant in four federal class action lawsuits relating to a data breach it experienced in January 2020, each of which was subsequently dismissed. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In addition, in May 2020 the Company was named as a defendant in three California state court class action lawsuits arising from the same data breach. Collectively, these lawsuits seek statutory, compensatory, actual, and punitive damages; equitable relief, including restitution; pre- and post-judgment interest; injunctive relief; and attorney fees, costs, and expenses from the Company. On July 24, 2020, these three pending lawsuits were consolidated into a single case in the Superior Court of the State of California in the County of San Bernardino entitled &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Joseph Deluna et al v. Tandem Diabetes Care, Inc&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;. The consolidated case alleges violations of the Confidentiality of Medical Information Act (CMIA), California Consumer Privacy Act (CCPA), California&#x2019;s Unfair Competition Law (UCL), and breach of contract. The Company filed a demurrer seeking dismissal of all claims, which was heard by the Court on October 27, 2020, and which resulted in the following outcome: (i) the demurrer of the CMIA claim was denied; (ii) the demurrer of the CCPA claim was sustained; and (iii) the demurrer of the UCL and contract claims were sustained with leave to amend the pending complaint. A second demurrer was heard by the Court on March 29, 2021 with the following outcome: (i) the demurrer of the CMIA claim was denied; and (ii) the demurrer of the UCL and contract claims were narrowed in scope to dismiss three plaintiffs for either failing to allege cognizable damages or injuries-in-fact, resulting in two remaining plaintiffs. Although the Company intends to vigorously defend against these claims, there is no guarantee that the Company will prevail. The Company presently is unable to determine the ultimate outcome of these lawsuits or determine the amount (or range) of possible losses associated with the lawsuits.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In September 2020, the Company was named as a defendant in a lawsuit entitled Buck Walsh, individually and on behalf of others similarly situated v. Tandem Diabetes Care, Inc., which was filed in the Superior Court of the State of California in the County of San Diego. The alleged violations include business and professions code and labor code violations for failure to compensate wages, unpaid meal and rest periods, and failure to reimburse for necessary business-related expenses. The case was brought as a class action and was later amended to also include a representative action under the California Private Attorney General Act, or PAGA. The class of plaintiffs includes hourly paid or non-exempt employees of the Company who were employed from April 6, 2016 through the date of adjudication. The parties recently agreed to resolve all claims in the lawsuit. The settlement of claims covered by the PAGA matter were approved by the Superior Court of the State of California in the County of San Diego on September 21, 2021 and settlement amounts were disbursed in 2021. In October 2021, a settlement of the class action related claims was preliminarily approved by an independent arbitrator mutually acceptable to both parties. The class action is intended to resolve the claims of the individual plaintiff, as well as the remaining members of the class, unless an individual class member submits a timely request for exclusion. The material terms of the settlement are set forth in a binding Memorandum of Agreement dated as of July 1, 2021, which is subject to the completion of a number of conditions, as well as final approval by the independent arbitrator. There is no guarantee that the conditions will be met or that final approval will be obtained. If the final class settlement is not approved, or if other conditions to approval of the settlement are not met, the case will continue and the Company will continue to vigorously defend against the claims.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;From time to time, the Company is involved in various other legal proceedings, regulatory matters, and other disputes or claims arising from or related to the normal course of our business activities, including actions with respect to intellectual property, data privacy, employment, regulatory, product liability and contractual matters. Although the results of legal proceedings, disputes and other claims cannot be predicted with certainty, the Company believes it is not currently a party to any legal proceeding(s) which, if determined adversely to the Company, would, individually or taken together, have a material adverse effect on the Company&#x2019;s business, operating results, financial condition or cash flows. However, regardless of the merit of the claims raised or the outcome, legal proceedings may have an adverse impact on the Company as a result of defense and settlement costs, diversion of management time and resources, and other factors.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Except as set forth above, as of December&#160;31, 2021 and December&#160;31, 2020, there were no legal proceedings, regulatory matters, or other disputes or claims for which a material loss was considered probable or for which the amount (or range) of loss was reasonably estimable. However, regardless of the merits of the claims raised or the outcome, legal proceedings, regulatory matters, and other disputes and claims may have an adverse impact on the Company because of as a result of defense and settlement costs, diversion of management time and resources, and other factors.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Letters of Credit&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company leases general office space, laboratory, manufacturing and warehouse facilities, and equipment under noncancelable operating leases for use in our operations (see Note 6, &#x201c;Leases&#x201d;). In connection with one of the operating leases, the Company has a $4.9&#160;million unsecured irrevocable standby letter of credit arrangement with a bank, under which the landlord of the building is the beneficiary. The Company is required to maintain the standby letter of credit throughout the term of the lease, which is currently expected to expire in April 2035.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Purchase Obligations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Company has agreements with suppliers and other parties to purchase inventory, other goods and services and long-lived assets. Product inventory obligations consist primarily of purchase order commitments for raw materials used in the production of insulin pumps and cartridges, and finished goods infusion sets. Cancellation of outstanding purchase orders is generally allowed under the standard terms of our purchase order agreements, but may require payment of costs incurred through the date of cancellation. At December&#160;31, 2021, obligations under our purchase agreements totaled approximately $255&#160;million, of which approximately $251&#160;million is scheduled to be received and become payable within one-year.&lt;/span&gt;&lt;/div&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:LossContingencyNewClaimsFiledNumber
      contextRef="idddf99ba980447d4adb6d362adcf9969_D20200401-20200430"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTEvZnJhZzo3MWIzMDQ5NzJjZWI0MzNkOTllZmVhMzdkYzVmNDAyYy90ZXh0cmVnaW9uOjcxYjMwNDk3MmNlYjQzM2Q5OWVmZWEzN2RjNWY0MDJjXzE2NDkyNjc0NDY4MTY_4d8956c8-02a0-40a8-bfc0-0b2f5775ba1f"
      unitRef="lawsuit">4</us-gaap:LossContingencyNewClaimsFiledNumber>
    <us-gaap:LossContingencyNewClaimsFiledNumber
      contextRef="ie8a5e7aaf14a42fc88cf2ef1adc2d4e3_D20200501-20200531"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTEvZnJhZzo3MWIzMDQ5NzJjZWI0MzNkOTllZmVhMzdkYzVmNDAyYy90ZXh0cmVnaW9uOjcxYjMwNDk3MmNlYjQzM2Q5OWVmZWEzN2RjNWY0MDJjXzEyMQ_bd7c86ce-95f1-40cf-8617-7678c5f3982a"
      unitRef="lawsuit">3</us-gaap:LossContingencyNewClaimsFiledNumber>
    <us-gaap:LossContingencyNewClaimsFiledNumber
      contextRef="ie8a5e7aaf14a42fc88cf2ef1adc2d4e3_D20200501-20200531"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTEvZnJhZzo3MWIzMDQ5NzJjZWI0MzNkOTllZmVhMzdkYzVmNDAyYy90ZXh0cmVnaW9uOjcxYjMwNDk3MmNlYjQzM2Q5OWVmZWEzN2RjNWY0MDJjXzUwMA_ca3c2675-fe52-49b4-bd7f-60a72d94494a"
      unitRef="lawsuit">3</us-gaap:LossContingencyNewClaimsFiledNumber>
    <tndm:LossContingencyNumberOfPlaintiffsToDismissed
      contextRef="i15ce588f1492415ab066b2a0d893e90c_D20210329-20210329"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTEvZnJhZzo3MWIzMDQ5NzJjZWI0MzNkOTllZmVhMzdkYzVmNDAyYy90ZXh0cmVnaW9uOjcxYjMwNDk3MmNlYjQzM2Q5OWVmZWEzN2RjNWY0MDJjXzQzOTgwNDY1MjUyNTU_f1ca2cfb-47c5-422a-893b-bbecdd75ad55"
      unitRef="plaintiff">3</tndm:LossContingencyNumberOfPlaintiffsToDismissed>
    <us-gaap:LossContingencyNumberOfPlaintiffs
      contextRef="i15ce588f1492415ab066b2a0d893e90c_D20210329-20210329"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTEvZnJhZzo3MWIzMDQ5NzJjZWI0MzNkOTllZmVhMzdkYzVmNDAyYy90ZXh0cmVnaW9uOjcxYjMwNDk3MmNlYjQzM2Q5OWVmZWEzN2RjNWY0MDJjXzMyOTg1MzQ5MDgzNzU_d0c92661-a16f-407f-bf2f-7a4ecfd5048c"
      unitRef="plaintiff">2</us-gaap:LossContingencyNumberOfPlaintiffs>
    <tndm:NumberOfLegalProceedingsRegulatoryMattersOrOtherDisputesOrClaims
      contextRef="i145a18fa54d74e21a583df8bad3ca6dc_D20200101-20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTEvZnJhZzo3MWIzMDQ5NzJjZWI0MzNkOTllZmVhMzdkYzVmNDAyYy90ZXh0cmVnaW9uOjcxYjMwNDk3MmNlYjQzM2Q5OWVmZWEzN2RjNWY0MDJjXzE2NDkyNjc0NTUyNDY_196a9d6b-a87a-44ff-a63b-d8f746606aa3"
      unitRef="legal_matter">0</tndm:NumberOfLegalProceedingsRegulatoryMattersOrOtherDisputesOrClaims>
    <tndm:NumberOfLegalProceedingsRegulatoryMattersOrOtherDisputesOrClaims
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTEvZnJhZzo3MWIzMDQ5NzJjZWI0MzNkOTllZmVhMzdkYzVmNDAyYy90ZXh0cmVnaW9uOjcxYjMwNDk3MmNlYjQzM2Q5OWVmZWEzN2RjNWY0MDJjXzE2NDkyNjc0NTUyNDY_5dad8cc3-25ca-415a-8501-24309085f89c"
      unitRef="legal_matter">0</tndm:NumberOfLegalProceedingsRegulatoryMattersOrOtherDisputesOrClaims>
    <us-gaap:LettersOfCreditOutstandingAmount
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTEvZnJhZzo3MWIzMDQ5NzJjZWI0MzNkOTllZmVhMzdkYzVmNDAyYy90ZXh0cmVnaW9uOjcxYjMwNDk3MmNlYjQzM2Q5OWVmZWEzN2RjNWY0MDJjXzQzOTgwNDY1MzYwMzQ_97d85554-d6a5-4b95-a56c-6edc86895e7a"
      unitRef="usd">4900000</us-gaap:LettersOfCreditOutstandingAmount>
    <us-gaap:PurchaseObligation
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTEvZnJhZzo3MWIzMDQ5NzJjZWI0MzNkOTllZmVhMzdkYzVmNDAyYy90ZXh0cmVnaW9uOjcxYjMwNDk3MmNlYjQzM2Q5OWVmZWEzN2RjNWY0MDJjXzcxNDY4MjU2MDcxODk_68c1476d-351b-4f6a-bc11-8fa22045c3e4"
      unitRef="usd">255000000</us-gaap:PurchaseObligation>
    <us-gaap:PurchaseObligationDueInNextTwelveMonths
      contextRef="i1d200d54d781439eb4d2314fac654b98_I20211231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTEvZnJhZzo3MWIzMDQ5NzJjZWI0MzNkOTllZmVhMzdkYzVmNDAyYy90ZXh0cmVnaW9uOjcxYjMwNDk3MmNlYjQzM2Q5OWVmZWEzN2RjNWY0MDJjXzcxNDY4MjU2MDcyMDM_943492ef-a128-4d60-9e10-de3ad3c194ea"
      unitRef="usd">251000000</us-gaap:PurchaseObligationDueInNextTwelveMonths>
    <us-gaap:QuarterlyFinancialInformationTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90ZXh0cmVnaW9uOmJhZTIwNjQ3ZmRhNjQxYmVhMTYxMTNlYThhY2E2YzI2XzExODM_1cc1054d-da0a-442c-91ae-f14b2835f6d6">Quarter Financial Data (Unaudited)&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The financial information for the three months ended December 31, 2021 and 2020 presented in the following table reflects all normal recurring adjustments that are, in the opinion of management, necessary for a fair statement of the results of the interim periods (in thousands, except per share data):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:65.274%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.420%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.422%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;For the Quarter Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;209,996&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;168,065&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross profit&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;113,729&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;90,556&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating expenses&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100,991&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,894&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,738&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,662&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,808&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic net income per share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted net income per share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The numerator and denominator of the basic and diluted net income per share computations are calculated as follows for the three months ended December 31, 2021 and 2020:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:65.274%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.420%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.422%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;For the Quarter Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,808&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: change in fair value of common stock warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,819)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income - diluted&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,840&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,181&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares outstanding - basic&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,650&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,249&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Dilutive common share equivalents:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Options to purchase common stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,877&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,984&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;227&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Warrants to purchase common stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;170&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;308&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Awards to be granted under the ESPP&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Convertible senior notes (if-converted)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares outstanding - diluted&lt;/span&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,927&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,678&#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:QuarterlyFinancialInformationTextBlock>
    <us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock
      contextRef="i25c71eb1a86040dc952e974a9fb0bc49_D20210101-20211231"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90ZXh0cmVnaW9uOmJhZTIwNjQ3ZmRhNjQxYmVhMTYxMTNlYThhY2E2YzI2XzExODQ_296948df-80a2-4650-97c8-a6ccfe072af6">&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The financial information for the three months ended December 31, 2021 and 2020 presented in the following table reflects all normal recurring adjustments that are, in the opinion of management, necessary for a fair statement of the results of the interim periods (in thousands, except per share data):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:65.274%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.420%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.422%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;For the Quarter Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sales&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;209,996&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;168,065&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Gross profit&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;113,729&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;90,556&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating expenses&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100,991&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,894&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,738&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,662&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,808&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic net income per share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.27&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted net income per share&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:10pt;text-indent:45pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The numerator and denominator of the basic and diluted net income per share computations are calculated as follows for the three months ended December 31, 2021 and 2020:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:65.274%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.420%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.422%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;For the Quarter Ended&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,808&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: change in fair value of common stock warrants&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,819)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income - diluted&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,840&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,181&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares outstanding - basic&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,650&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,249&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Dilutive common share equivalents:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Options to purchase common stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,877&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,984&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested restricted stock units&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;227&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;133&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Warrants to purchase common stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;170&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;308&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Awards to be granted under the ESPP&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Convertible senior notes (if-converted)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average shares outstanding - diluted&lt;/span&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,927&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,678&#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:ScheduleOfQuarterlyFinancialInformationTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="idfd36d5aae4d410b8080d6edac771e5c_D20211001-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpmYjgzZmZhNGE1Zjc0ZDdiYjYxMzJiZGI0YzM4MzEwYi90YWJsZXJhbmdlOmZiODNmZmE0YTVmNzRkN2JiNjEzMmJkYjRjMzgzMTBiXzMtNy0xLTEtNTM4MzA_5e125257-b756-4672-90dd-a8e566fa3991"
      unitRef="usd">209996000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7139d2468aad49d9866ee934220416af_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpmYjgzZmZhNGE1Zjc0ZDdiYjYxMzJiZGI0YzM4MzEwYi90YWJsZXJhbmdlOmZiODNmZmE0YTVmNzRkN2JiNjEzMmJkYjRjMzgzMTBiXzItMy0xLTEtODY3NDU_b6c27ed8-47a6-4a2f-947d-32baffdfb160"
      unitRef="usd">168065000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:GrossProfit
      contextRef="idfd36d5aae4d410b8080d6edac771e5c_D20211001-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpmYjgzZmZhNGE1Zjc0ZDdiYjYxMzJiZGI0YzM4MzEwYi90YWJsZXJhbmdlOmZiODNmZmE0YTVmNzRkN2JiNjEzMmJkYjRjMzgzMTBiXzQtNy0xLTEtNTM4MzA_78d8e6de-2100-40ad-bab9-8ad58f27ab86"
      unitRef="usd">113729000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i7139d2468aad49d9866ee934220416af_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpmYjgzZmZhNGE1Zjc0ZDdiYjYxMzJiZGI0YzM4MzEwYi90YWJsZXJhbmdlOmZiODNmZmE0YTVmNzRkN2JiNjEzMmJkYjRjMzgzMTBiXzMtMy0xLTEtODY3NDU_c70cb4ad-551e-48bf-bdff-79e9463f3143"
      unitRef="usd">90556000</us-gaap:GrossProfit>
    <us-gaap:OperatingExpenses
      contextRef="idfd36d5aae4d410b8080d6edac771e5c_D20211001-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpmYjgzZmZhNGE1Zjc0ZDdiYjYxMzJiZGI0YzM4MzEwYi90YWJsZXJhbmdlOmZiODNmZmE0YTVmNzRkN2JiNjEzMmJkYjRjMzgzMTBiXzUtNy0xLTEtNTM4MzA_88b62099-f58b-4e02-b22d-a26182f342eb"
      unitRef="usd">100991000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="i7139d2468aad49d9866ee934220416af_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpmYjgzZmZhNGE1Zjc0ZDdiYjYxMzJiZGI0YzM4MzEwYi90YWJsZXJhbmdlOmZiODNmZmE0YTVmNzRkN2JiNjEzMmJkYjRjMzgzMTBiXzQtMy0xLTEtODY3NDU_b6309391-a2f6-4239-89e9-13f3193fb9e7"
      unitRef="usd">71894000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="idfd36d5aae4d410b8080d6edac771e5c_D20211001-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpmYjgzZmZhNGE1Zjc0ZDdiYjYxMzJiZGI0YzM4MzEwYi90YWJsZXJhbmdlOmZiODNmZmE0YTVmNzRkN2JiNjEzMmJkYjRjMzgzMTBiXzYtNy0xLTEtNTM4MzA_00720957-ce19-43b0-ae9c-56117f72238c"
      unitRef="usd">12738000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i7139d2468aad49d9866ee934220416af_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpmYjgzZmZhNGE1Zjc0ZDdiYjYxMzJiZGI0YzM4MzEwYi90YWJsZXJhbmdlOmZiODNmZmE0YTVmNzRkN2JiNjEzMmJkYjRjMzgzMTBiXzUtMy0xLTEtODY3NDU_5ae9fa0f-7219-431f-bb47-28868bec9189"
      unitRef="usd">18662000</us-gaap:OperatingIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="idfd36d5aae4d410b8080d6edac771e5c_D20211001-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpmYjgzZmZhNGE1Zjc0ZDdiYjYxMzJiZGI0YzM4MzEwYi90YWJsZXJhbmdlOmZiODNmZmE0YTVmNzRkN2JiNjEzMmJkYjRjMzgzMTBiXzctNy0xLTEtNTM4MzA_331d59c4-5010-4c65-9c23-12149b3b8baf"
      unitRef="usd">10808000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i7139d2468aad49d9866ee934220416af_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpmYjgzZmZhNGE1Zjc0ZDdiYjYxMzJiZGI0YzM4MzEwYi90YWJsZXJhbmdlOmZiODNmZmE0YTVmNzRkN2JiNjEzMmJkYjRjMzgzMTBiXzYtMy0xLTEtODY3NDU_0f47dcf6-58aa-496a-a093-e3c66a864ba9"
      unitRef="usd">17000000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="idfd36d5aae4d410b8080d6edac771e5c_D20211001-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpmYjgzZmZhNGE1Zjc0ZDdiYjYxMzJiZGI0YzM4MzEwYi90YWJsZXJhbmdlOmZiODNmZmE0YTVmNzRkN2JiNjEzMmJkYjRjMzgzMTBiXzgtNy0xLTEtNTM4MzA_eb955856-bf24-4211-b923-8d94cad95429"
      unitRef="usdPerShare">0.17</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i7139d2468aad49d9866ee934220416af_D20201001-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpmYjgzZmZhNGE1Zjc0ZDdiYjYxMzJiZGI0YzM4MzEwYi90YWJsZXJhbmdlOmZiODNmZmE0YTVmNzRkN2JiNjEzMmJkYjRjMzgzMTBiXzctMy0xLTEtODY3NDU_4b569307-9f26-4de4-8a06-3fda9760df1b"
      unitRef="usdPerShare">0.27</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="idfd36d5aae4d410b8080d6edac771e5c_D20211001-20211231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpmYjgzZmZhNGE1Zjc0ZDdiYjYxMzJiZGI0YzM4MzEwYi90YWJsZXJhbmdlOmZiODNmZmE0YTVmNzRkN2JiNjEzMmJkYjRjMzgzMTBiXzktNy0xLTEtNTM4MzA_0193ce50-ee57-435f-ba3a-208b019fd7d0"
      unitRef="usdPerShare">0.16</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i7139d2468aad49d9866ee934220416af_D20201001-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpmYjgzZmZhNGE1Zjc0ZDdiYjYxMzJiZGI0YzM4MzEwYi90YWJsZXJhbmdlOmZiODNmZmE0YTVmNzRkN2JiNjEzMmJkYjRjMzgzMTBiXzgtMy0xLTEtODY3NDU_3a6fcabc-7979-409d-96ac-50f53d71997e"
      unitRef="usdPerShare">0.22</us-gaap:EarningsPerShareDiluted>
    <us-gaap:NetIncomeLoss
      contextRef="idfd36d5aae4d410b8080d6edac771e5c_D20211001-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpjODdkZDU4OGEyZDc0NzIzYTkzZTcxYWZjMGFhZTM0Yy90YWJsZXJhbmdlOmM4N2RkNTg4YTJkNzQ3MjNhOTNlNzFhZmMwYWFlMzRjXzItMS0xLTEtNTM4MzA_331d59c4-5010-4c65-9c23-12149b3b8baf"
      unitRef="usd">10808000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i7139d2468aad49d9866ee934220416af_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpjODdkZDU4OGEyZDc0NzIzYTkzZTcxYWZjMGFhZTM0Yy90YWJsZXJhbmdlOmM4N2RkNTg4YTJkNzQ3MjNhOTNlNzFhZmMwYWFlMzRjXzItMy0xLTEtNTM4MzA_3d351575-cd23-4b13-8305-feefbb97ab91"
      unitRef="usd">17000000</us-gaap:NetIncomeLoss>
    <us-gaap:DilutiveSecurities
      contextRef="idfd36d5aae4d410b8080d6edac771e5c_D20211001-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpjODdkZDU4OGEyZDc0NzIzYTkzZTcxYWZjMGFhZTM0Yy90YWJsZXJhbmdlOmM4N2RkNTg4YTJkNzQ3MjNhOTNlNzFhZmMwYWFlMzRjXzMtMS0xLTEtNTM4MzA_fa614bc2-619d-4bc2-8066-365d64a8c00a"
      unitRef="usd">32000</us-gaap:DilutiveSecurities>
    <us-gaap:DilutiveSecurities
      contextRef="i7139d2468aad49d9866ee934220416af_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpjODdkZDU4OGEyZDc0NzIzYTkzZTcxYWZjMGFhZTM0Yy90YWJsZXJhbmdlOmM4N2RkNTg4YTJkNzQ3MjNhOTNlNzFhZmMwYWFlMzRjXzMtMy0xLTEtNTM4MzA_a16dbb63-f035-456c-80ed-8caa278399b9"
      unitRef="usd">-2819000</us-gaap:DilutiveSecurities>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="idfd36d5aae4d410b8080d6edac771e5c_D20211001-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpjODdkZDU4OGEyZDc0NzIzYTkzZTcxYWZjMGFhZTM0Yy90YWJsZXJhbmdlOmM4N2RkNTg4YTJkNzQ3MjNhOTNlNzFhZmMwYWFlMzRjXzQtMS0xLTEtNTM4MzA_0a5094eb-d159-4300-b287-0da8ac909f4c"
      unitRef="usd">10840000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted
      contextRef="i7139d2468aad49d9866ee934220416af_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpjODdkZDU4OGEyZDc0NzIzYTkzZTcxYWZjMGFhZTM0Yy90YWJsZXJhbmdlOmM4N2RkNTg4YTJkNzQ3MjNhOTNlNzFhZmMwYWFlMzRjXzQtMy0xLTEtNTM4MzA_bdaf364b-84b0-42a3-b7a2-edfa30cbbb30"
      unitRef="usd">14181000</us-gaap:NetIncomeLossAvailableToCommonStockholdersDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="idfd36d5aae4d410b8080d6edac771e5c_D20211001-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpjODdkZDU4OGEyZDc0NzIzYTkzZTcxYWZjMGFhZTM0Yy90YWJsZXJhbmdlOmM4N2RkNTg4YTJkNzQ3MjNhOTNlNzFhZmMwYWFlMzRjXzEwLTEtMS0xLTUzODMw_f6bf097c-f66a-42a8-9cfe-074f4b9653f8"
      unitRef="shares">63650000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i7139d2468aad49d9866ee934220416af_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpjODdkZDU4OGEyZDc0NzIzYTkzZTcxYWZjMGFhZTM0Yy90YWJsZXJhbmdlOmM4N2RkNTg4YTJkNzQ3MjNhOTNlNzFhZmMwYWFlMzRjXzEwLTMtMS0xLTUzODMw_ca565521-72fa-421f-b8e4-e897317f333f"
      unitRef="shares">62249000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants
      contextRef="ib1278a4709b749c39aae6d8d5aa136f5_D20211001-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpjODdkZDU4OGEyZDc0NzIzYTkzZTcxYWZjMGFhZTM0Yy90YWJsZXJhbmdlOmM4N2RkNTg4YTJkNzQ3MjNhOTNlNzFhZmMwYWFlMzRjXzEyLTEtMS0xLTY1MDY4_bed679df-0be8-4232-a8dd-d2daa5376ec1"
      unitRef="shares">1877000</us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants>
    <us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants
      contextRef="i91e69c6214ef432f91cc63a2469e8961_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpjODdkZDU4OGEyZDc0NzIzYTkzZTcxYWZjMGFhZTM0Yy90YWJsZXJhbmdlOmM4N2RkNTg4YTJkNzQ3MjNhOTNlNzFhZmMwYWFlMzRjXzEyLTctMS0xLTY1MDY4_3b4cbe79-16d3-48a5-a4fa-9bdafa248928"
      unitRef="shares">2984000</us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants>
    <us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants
      contextRef="i484746ae792046be9c77365a796559d1_D20211001-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpjODdkZDU4OGEyZDc0NzIzYTkzZTcxYWZjMGFhZTM0Yy90YWJsZXJhbmdlOmM4N2RkNTg4YTJkNzQ3MjNhOTNlNzFhZmMwYWFlMzRjXzEzLTEtMS0xLTY1MDU5_1f099bef-ee21-4816-bf7e-272d941223a5"
      unitRef="shares">227000</us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants>
    <us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants
      contextRef="ida88a271e59543ceb26e7b9ec2be8b00_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpjODdkZDU4OGEyZDc0NzIzYTkzZTcxYWZjMGFhZTM0Yy90YWJsZXJhbmdlOmM4N2RkNTg4YTJkNzQ3MjNhOTNlNzFhZmMwYWFlMzRjXzEzLTctMS0xLTY1MDU5_48699f59-55b9-43ad-b52e-f21d0894d4b3"
      unitRef="shares">133000</us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants>
    <us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants
      contextRef="i597bb7bb35a84a8ab05d9266d2225b96_D20211001-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpjODdkZDU4OGEyZDc0NzIzYTkzZTcxYWZjMGFhZTM0Yy90YWJsZXJhbmdlOmM4N2RkNTg4YTJkNzQ3MjNhOTNlNzFhZmMwYWFlMzRjXzEyLTEtMS0xLTUzODMw_d70c42e8-89f4-43d3-bd97-43b92e75e670"
      unitRef="shares">170000</us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants>
    <us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants
      contextRef="id8fba563c2594b4e9f2dd0c801ea4a8a_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpjODdkZDU4OGEyZDc0NzIzYTkzZTcxYWZjMGFhZTM0Yy90YWJsZXJhbmdlOmM4N2RkNTg4YTJkNzQ3MjNhOTNlNzFhZmMwYWFlMzRjXzEyLTMtMS0xLTUzODMw_3c5c423b-fbc6-4701-938a-9d743a3acc22"
      unitRef="shares">308000</us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="i72a9b09d92fd49a0935e0ea3b81ec3b3_D20211001-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpjODdkZDU4OGEyZDc0NzIzYTkzZTcxYWZjMGFhZTM0Yy90YWJsZXJhbmdlOmM4N2RkNTg4YTJkNzQ3MjNhOTNlNzFhZmMwYWFlMzRjXzE1LTEtMS0xLTUzODMw_eb8c9d25-192e-41aa-9ea2-83f3ca132139"
      unitRef="shares">3000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="ie718847de5b041dc8adda0e5e180f0ca_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpjODdkZDU4OGEyZDc0NzIzYTkzZTcxYWZjMGFhZTM0Yy90YWJsZXJhbmdlOmM4N2RkNTg4YTJkNzQ3MjNhOTNlNzFhZmMwYWFlMzRjXzE1LTMtMS0xLTUzODMw_84bff02d-8f0a-439e-a00c-3f1654f799e8"
      unitRef="shares">4000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities
      contextRef="if069810754e2498289b569897bd31e2d_D20211001-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpjODdkZDU4OGEyZDc0NzIzYTkzZTcxYWZjMGFhZTM0Yy90YWJsZXJhbmdlOmM4N2RkNTg4YTJkNzQ3MjNhOTNlNzFhZmMwYWFlMzRjXzE2LTEtMS0xLTUzODMw_038de571-9f03-4aae-8978-99679298479a"
      unitRef="shares">0</us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities>
    <us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities
      contextRef="ibf4c3b2ba931412e98c3fdeac8734e07_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpjODdkZDU4OGEyZDc0NzIzYTkzZTcxYWZjMGFhZTM0Yy90YWJsZXJhbmdlOmM4N2RkNTg4YTJkNzQ3MjNhOTNlNzFhZmMwYWFlMzRjXzE2LTMtMS0xLTUzODMw_ba186c49-c650-4f07-b300-f039fd9db997"
      unitRef="shares">0</us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="idfd36d5aae4d410b8080d6edac771e5c_D20211001-20211231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpjODdkZDU4OGEyZDc0NzIzYTkzZTcxYWZjMGFhZTM0Yy90YWJsZXJhbmdlOmM4N2RkNTg4YTJkNzQ3MjNhOTNlNzFhZmMwYWFlMzRjXzE3LTEtMS0xLTUzODMw_1eca0c6c-6773-4b83-ba19-ead36f06e2f6"
      unitRef="shares">65927000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i7139d2468aad49d9866ee934220416af_D20201001-20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xNTcvZnJhZzpiYWUyMDY0N2ZkYTY0MWJlYTE2MTEzZWE4YWNhNmMyNi90YWJsZTpjODdkZDU4OGEyZDc0NzIzYTkzZTcxYWZjMGFhZTM0Yy90YWJsZXJhbmdlOmM4N2RkNTg4YTJkNzQ3MjNhOTNlNzFhZmMwYWFlMzRjXzE3LTMtMS0xLTUzODMw_19d00e6f-1ddc-42f0-850a-4ec4ddf38399"
      unitRef="shares">65678000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <link:footnoteLink
      xlink:role="http://www.xbrl.org/2003/role/link"
      xlink:type="extended">
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQxLTExLTEtMS02MjQ0NA_bcc40f64-1b3e-42d3-b7b3-5a1f28dffbbc"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQxLTExLTEtMS02MjQ0NA_bcc40f64-1b3e-42d3-b7b3-5a1f28dffbbc"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQxLTUtMS0xLTU5Nzc0_35fcbb54-2f74-4f9c-b115-1cbab2f0d349"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQxLTUtMS0xLTU5Nzc0_35fcbb54-2f74-4f9c-b115-1cbab2f0d349"
          xlink:type="locator"/>
        <link:loc
          xlink:href="#id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQxLTktMS0xLTU5Nzc0_b0da469d-3f8e-451d-81b9-4e24632f2369"
          xlink:label="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQxLTktMS0xLTU5Nzc0_b0da469d-3f8e-451d-81b9-4e24632f2369"
          xlink:type="locator"/>
        <link:footnote id="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90ZXh0cmVnaW9uOmM4MWUzNTNkNTVhMjQ3YWJiNTA0ZGRjZjc5YmIxNDkzXzQzOTgwNDY1MTE1MTA_3c7a336e-c032-4a18-bbed-575934aed078" xlink:label="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90ZXh0cmVnaW9uOmM4MWUzNTNkNTVhMjQ3YWJiNTA0ZGRjZjc5YmIxNDkzXzQzOTgwNDY1MTE1MTA_3c7a336e-c032-4a18-bbed-575934aed078" xlink:role="http://www.xbrl.org/2003/role/footnote" xlink:type="resource" xml:lang="en-US">The Company adopted ASU No. 2020-06, <xhtml:span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-style:italic;font-weight:400;line-height:120%">Accounting for Convertible Instruments and Contracts in an Entity&#x2019;s Own Equity</xhtml:span><xhtml:span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:120%"> effective January 1, 2021 (see Note 2, &#x201c;Summary of Significant Accounting Policies&#x201d;).</xhtml:span></link:footnote>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQxLTExLTEtMS02MjQ0NA_bcc40f64-1b3e-42d3-b7b3-5a1f28dffbbc"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90ZXh0cmVnaW9uOmM4MWUzNTNkNTVhMjQ3YWJiNTA0ZGRjZjc5YmIxNDkzXzQzOTgwNDY1MTE1MTA_3c7a336e-c032-4a18-bbed-575934aed078"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQxLTUtMS0xLTU5Nzc0_35fcbb54-2f74-4f9c-b115-1cbab2f0d349"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90ZXh0cmVnaW9uOmM4MWUzNTNkNTVhMjQ3YWJiNTA0ZGRjZjc5YmIxNDkzXzQzOTgwNDY1MTE1MTA_3c7a336e-c032-4a18-bbed-575934aed078"
          xlink:type="arc"/>
        <link:footnoteArc
          xlink:arcrole="http://www.xbrl.org/2003/arcrole/fact-footnote"
          xlink:from="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90YWJsZTpkMjBiNmVkMTAxZjM0YTFlYTYzODcxMmExMWNhMmY0ZS90YWJsZXJhbmdlOmQyMGI2ZWQxMDFmMzRhMWVhNjM4NzEyYTExY2EyZjRlXzQxLTktMS0xLTU5Nzc0_b0da469d-3f8e-451d-81b9-4e24632f2369"
          xlink:to="id3VybDovL2RvY3MudjEvZG9jOjVkMjM5OWM4ODQ4MDQ1MGRhYjZmNGU0YTk1MjZkYzZhL3NlYzo1ZDIzOTljODg0ODA0NTBkYWI2ZjRlNGE5NTI2ZGM2YV8xMTIvZnJhZzpjODFlMzUzZDU1YTI0N2FiYjUwNGRkY2Y3OWJiMTQ5My90ZXh0cmVnaW9uOmM4MWUzNTNkNTVhMjQ3YWJiNTA0ZGRjZjc5YmIxNDkzXzQzOTgwNDY1MTE1MTA_3c7a336e-c032-4a18-bbed-575934aed078"
          xlink:type="arc"/>
    </link:footnoteLink>
</xbrl>
