<?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/2021"
  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:tenb="http://www.tenable.com/20210630"
  xmlns:us-gaap="http://fasb.org/us-gaap/2021-01-31"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="tenb-20210630.xsd" xlink:type="simple"/>
    <context id="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i397cdd7144b2405c8237a117ded08265_I20210726">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <instant>2021-07-26</instant>
        </period>
    </context>
    <context id="i1eb7457b361a47628cdf051bb1358f38_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ia0b14dbbed9b4a74960038d0eccd387e_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="id5f1089018c54912a051c187331f9450_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ia52eb755a5de46f39ca27083a81797b3_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i2027bd7d550e4e6c8984b662a039c44f_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i741e335dfe75486ca6e6d79cdaedda57_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="ibd321badb75b42748469404816718717_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i13241181c0cb4760aa2bfa8ac3a897d8_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="iabcb93f927c74d2390407520b9633e72_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ie66411e77a3d46d9b130d8da9926cd36_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i8881315aa64d4e158879b7b9b2b5a7a0_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i77da0e6944e546468a8f3242a7e697bf_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i661c192019354cedb90a5eff0a6e17c5_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i5d8faf2608944268a6c3ecf7e26a41d8_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i71f46b838a154a8eb5dc621c1fe03ee5_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i50f4b885957148e294fc3d55e7c8c20a_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i81102fdba90f4c59a0af1357243e22cc_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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="i8201609425844399abbff1b09f099fcf_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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="i687226a6cab3461faec227a102ccf65a_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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="i7d35503bf578485490527ca22dcd235a_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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="i28262c3205884cd88cc369e102b85a15_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ibe60e89c68794365ac5928e81b1b3b43_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i6e8f62fdd3a246f88bbe480dc2a7ad54_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i736d764297a146f489d0ef720c255bf8_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i879538cd80c140b49a0fcb040a7c6eec_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i5860dfb6c4c34b14b4ffd44f892d233e_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="ie743373ec3d2437591e0a1c5aebf031d_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i12659e102a144a17b6ce22b24fa6dfbb_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i75e6ffc169a4490fa5a6e15cef925e71_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i8f8d17ae853e423ab464c121a4f01632_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i695f05aae1a34594950a58b573bc0301_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="if6f535b9d721493f8cfe5e160040c0ed_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i49b31edc86874fb5a30fd757e1d1cdf0_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i525010c02eb449389a4667261810b1e3_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="i17df4e1c5442441d8451ff5188b27475_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="ida2f100675b8469eb639f93d4daa6381_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="i798ddf31e3f948078d97bdf58c6b332b_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="i1fd31efd14444629a30c8ef9a743e53c_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="i29dc73fccd2c40a7ae721a67ee2df03e_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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="i32995e2c74454c13919373a100dcd323_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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="ia2e6bd1adb5b4cfc94c732ea6f7d9802_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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="i7fc21dcfe19a4148a79ca1dcb0cf8d34_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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="ie8912800a5734e098a2afc59fc8f1458_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="iec92d62ec2c34ff098d01ea9dee80f4a_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i9a050724d4494412b5136886a22145b6_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i06586778bc9e4c1c900a8952f0f22ca3_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i2efd19da63c54a61aef03316a887cbb3_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="if3f63b434fb44770a278398315df46fd_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i35d6899ba8974018b17328995f485093_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ia391ffc0d730417d970e7ffe83b2b3e9_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i44731f09d6404b93ad16af9e90f5ea6a_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i425a4ef712994bb89c119109fc52e5ee_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseAndMaintenanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="idf4f296c79ba45c7b68af2c435819257_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseAndMaintenanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i350c2452bf9c42d0ae65a0ae2c72be88_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseAndMaintenanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i55bd6bd1226243ffb33297f252a4d0b0_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseAndMaintenanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ib153076add25466891788f55b5009147_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ie63ebcf0a2ec426c865145a8067d0a81_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ia0efeb2805d341aa92285352580eaac2_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ia8a6a8d550bd4fd3959b4540c8e4b146_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ServiceOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i38ec4f3662b44ac4bae2570d4708b140_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">tenb:SalesMethodRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerSalesChannelAxis">us-gaap:SalesChannelThroughIntermediaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ia810d00fea13429db017cec0e409b8db_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">tenb:SalesMethodRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerSalesChannelAxis">us-gaap:SalesChannelThroughIntermediaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ie219d6aa8f3a457cb80164d448d5f5f6_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">tenb:SalesMethodRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerSalesChannelAxis">us-gaap:SalesChannelThroughIntermediaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i66e0455c27a649a6be54244f19103d4a_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">tenb:SalesMethodRiskMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ContractWithCustomerSalesChannelAxis">us-gaap:SalesChannelThroughIntermediaryMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i3b496a87bb16403295392e6d7537ec1a_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tenb:OneDistributorMember</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-06-30</endDate>
        </period>
    </context>
    <context id="i91d87ecfd0c14f28a393efa205039039_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tenb:OneDistributorMember</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-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i3aa90a155703444c93ded17a5ccdcdbb_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tenb:OneDistributorMember</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-06-30</endDate>
        </period>
    </context>
    <context id="i72622e45fa7443fb91316772b27c3f2e_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tenb:OneDistributorMember</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-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i6943a0ec2dfe469cb72baa3720321d98_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tenb:OneDistributorMember</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-06-30</endDate>
        </period>
    </context>
    <context id="i011d9652756c461bb141e972faa843fe_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tenb:OneDistributorMember</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="ib41df0fb7def481fa40a4f7991b2fb11_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2021-07-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ie2c2d58f7efb497fb733fc1a5a3eadd2_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2022-07-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i7e0af713c1824fbd890d9c0292d1a3d4_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ib24f485f1ab642c384b4b0f39b8a8f3a_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ifa679461204843a187a6a9f6b80238b9_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i46d2a64618dd424d85ef8b23a88e556f_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">tenb:SupranationalBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="id4e4686a358642bfb13776ce52a18ea6_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryAndGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ibde931af975f4d59b630f3c37eba0fcb_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i6efb8a0d87684637987bef7591edf026_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i26a198b63b0c42aca6c1afc21fa077e5_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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="i3ce74aaff77446bc80526760cc83bc79_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i303626ad3eff4fc882d08fdb4b399f80_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryAndGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i1253c14eabb74008aabe69138eef4186_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis">tenb:CollateralForLettersOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="id8d0a8f9a8704a47b1cf039c500c42ab_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis">tenb:CollateralForLeaseAndCreditCardDepositsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ia65deccc4dae412b850b50673792239a_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis">tenb:CollateralForLeaseArrangementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i6990054831ac444bb5e5e52014f3e376_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:RestrictedCashAndCashEquivalentsCashAndCashEquivalentsAxis">tenb:CollateralForLeaseArrangementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i1dae282b382c428d8fea31c6bd846176_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i2e502bdd234d45c3a39b99c97e014d6d_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ia7aa801e63894babadf5f7f693402cbd_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i3468ae95fa7a40f8b09e817befdb9e8f_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="idaba3dd540a645fdbea2f92f5f62dccb_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="iab087fb39b764680a53185a4f6691ca4_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i253b84d675a6437a89b3dc0c69be57d2_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="if72dbfe3aaf24e2080c76cc5f451e8fd_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i36be063f5b344700a56c3054d8440ae3_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ief3a9f0b888e47e498a38166129fba32_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i6b7e8dc4adde481b81da656a9c68a116_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="id3f898d2b0444d239d6da3aadf4f8a7e_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ic2b1ebed61ce43c886da1fe3119fee2e_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i073f5d6c21db4e1bbaeb11e9cc0a5301_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i79a0c1c5ee3e4c558a123970d345518b_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">tenb:SupranationalBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i67dfb6a4a02f498a9745b148fc547905_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">tenb:SupranationalBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ic4461c57d2554709b0b4ee8f7402f468_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">tenb:SupranationalBondsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i1fb741f997a144cc98d88db03673c082_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryAndGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="idfa00c8ecc614905b1b7ff317e079c85_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryAndGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i69285006e5104737b87005cb497d3da2_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryAndGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i21823778cbf14618ae3040de12563d13_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i36315b4fd71849998f9a50ffefe497ea_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i9f64119ca9a44aba96925e5616b8213a_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ic61aed0def7946d6a953b13a40a88b63_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ie6230fbd36ae44208289767e91b52f9d_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ibc217e80868448268f89a053b463270f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ib6134bf7902041028b842ff928c84ff0_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ie690f648faee4199ab25807d5e40c021_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i7ccf6c78659c4583a2cfc63ce95b1c89_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i2b2820968b7b4251a66edfdb20286abd_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i4aa8e92c642d46fe82e5dc0c6b4e3a2e_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ife6a0b33c08b4955a7150221dab35c15_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="iad1e022e57784561b119fc63a48d0610_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashEquivalentsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i45779ec08ee14abc8a50475d8d86c243_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</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="id96530ec9dae4d9096ce0a0c7ebe7ef3_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</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="i945f32e147fe43a8a81a1b31f596452c_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</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="ia34f06e8eb9547a29b1b89195aefd761_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</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="i2d23f4466e514dd798330a6c4efeb655_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</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="i73562542136e4da4b51c9a5251e92be4_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</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="i0e0c3cdd862241ca992f5755526b184f_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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="ia30c937c269d4d0b917f4ede3b4a8ba1_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryAndGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ie38b41edc71d437aa629ba5358328c67_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryAndGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i01a430888b314d7b8495ce577e584514_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryAndGovernmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i3f165047b3f44a90918b36c40c19e83b_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ia274d95a12894769bb4b2990d8934db8_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i907c3d8840534d0e8b254a6ded2f3fc5_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel3Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ie1470ba1b0754a618e3242193d0dd1d6_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ComputerEquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ic83940f720dd4c068ac95a96f4d27602_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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="i0f522e0de95f4c30b34e5a0deed6e6b9_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i0ee7dbb5875f4b2fa9e3253fa905c4ef_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i09c47214a1e0470783cc2778acd7533d_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdsAndLeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ifd2cd4fba580457caee0ee9d0eed8914_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdsAndLeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i5d316a49946a4a09bc5898de66446200_D20210401-20210430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tenb:AlsidSASMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="ide9df2bb05e8419d9584ccc42ee7df92_I20210430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tenb:AlsidSASMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-30</instant>
        </period>
    </context>
    <context id="i0ad098875f74422983e417fdf522f46a_D20210401-20210430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="id59503e46ee342339770365ffe200668_D20210401-20210430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="i1ea36dfc91f049a78369bcda5b0e913b_D20210401-20210430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-04-30</endDate>
        </period>
    </context>
    <context id="ic57874e749db419988ef11ffa848ee3b_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i852241fc9fe44215996ba2c5a6f055cc_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i9b47743a82074be39123578c5d36a6d3_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ie1f4034bb431481393a681a384c1b71a_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TradeNamesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i45026ea1ca9f47d59e0921581550806b_I20200731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tenb:A2020CreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-07-31</instant>
        </period>
    </context>
    <context id="i54a1d986ae874035811113f4ad247ac3_I20170504">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2017-05-04</instant>
        </period>
    </context>
    <context id="i7ede4cd8efd942ef8790d06fdf0acfeb_D20200701-20200731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tenb:A2020CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-07-31</endDate>
        </period>
    </context>
    <context id="i778b6881f87744edbef9a53d991f209c_D20200701-20200731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tenb:A2020CreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-07-31</endDate>
        </period>
    </context>
    <context id="i97723065abb54ec7be34de599abe07f6_D20200701-20200731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tenb:A2020CreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-07-01</startDate>
            <endDate>2020-07-31</endDate>
        </period>
    </context>
    <context id="iea0aca0aef074272a63c012e688403f4_I20200731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <instant>2020-07-31</instant>
        </period>
    </context>
    <context id="i85b1695b4467468eb5631983b8829024_I20200731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tenb:A2020CreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-07-31</instant>
        </period>
    </context>
    <context id="i99e074c9e1d943a98b29ddd6faeb4f77_I20200731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:BridgeLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tenb:A2020CreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-07-31</instant>
        </period>
    </context>
    <context id="i8700b91c9a08489992ce50d18ade940b_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tenb:A2020CreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i68faa6e9f40843d3b6529b6e7393038e_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tenb:A2020CreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ic7bd276a2ad543b1a446b55991f9e438_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tenb:EquityIncentivePlan2018Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i8c083503051a45afa59ddd223d7ae972_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i84f7371f17924cb79cac2a4e47b499a3_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="idf4eb48fa2344286921074a9d2d4f5ad_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="iffe5a5c5d2294438ba2c76c88bc8a16c_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CostOfSalesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i1f15883f9cca4474b2cafad7194d3640_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i020d11cd641746c5a69ab97dbfd76c22_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i2c08d01d9808422e8c46db3089e86696_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i8d4195bc8c83404e9fb03071b8b48969_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingAndMarketingExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ia6522468a15347e2866ca1282d3dc209_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i9ece564fe368412f846ad349e6473edb_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ie23ec9ed26f542ada9de5de83374a9fc_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i925d4130b33f408f8ef550448ad4a9e2_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i388144daaac143fa9236ed182ae247e4_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i1f4c5c75df274881a2dabc7f43cc27d7_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i8899a17af9174fb0b6c6150bcc99793f_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="iacde82c98c6b4c4eb484310601ae01fb_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i0bca5dde877a466c88fcc0f1a9880391_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i069e4358a52844889209645862e7727b_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i168b4b1e37864b76801ba21368b423c9_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="id5a195f4f97241799ad9fe96841689d7_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ib18bb0614c684b8cad8d6fb18d8aa2fb_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</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="i6c64ac252a50479c8a4888e6d9c2685c_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i9fe937f5883042ca9875ac29ef9d4ea3_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i792cd294061341dab818d052307202af_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i6f2fcd96dc8d421db4f9502a3551cee9_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ifce9729e89854fce8d5efcb751b2e93e_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i08089e260f6548a4bb71912af830fc9e_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i8840b5d158eb4f1ab9b99f21801e5728_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i98075c54ca17435b8901e840db0eb653_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ib41651d13d3c4d079412f65d3c65a558_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ib3f63a87a1da4121964520f5bdb389f8_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i396fd5ebc1f44055ad2054bf9a1c49a1_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i6d7c52c63e1b42d9b4fa24003f968846_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i923ad0c4a05a45d3b834c6683e06183f_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="id3d5c8c1a24e45398c53449ac4145e40_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i51101b975afe4e3091291705fbcaa50d_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i7ecb359f1def4886bd09b9f40f3c840a_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i612b4e6672cc49ce9514c455adb037a8_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="id7ce9bb201e342a8a8a1c63ff743649c_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ia6bb59814a0147439d7c5420b2613a46_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tenb:AlsidSASMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i6c9d801df56c4756a8a1b54107296673_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IL</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i40e17a6c1cdd4e20bd7bd2c679dfe7cc_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:IN</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i13d1dd04f3314e15a31d8092ce030bc3_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="iceaf2abc3f7f415b97cc605e0776b076_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i4baa37d014944dfbbe8b13e421010529_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i495cf4b391b748dfae37eb9faf2612a4_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AmericasMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i488e84b8447e4be69cb1b8a292abc176_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:EMEAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i814dfa65524b4ea896ed50c21959d32e_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:EMEAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i351baa722f17421896acb01d7c350693_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:EMEAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i9d92f2d5f1d448f2af32e807ae162926_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:EMEAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="icfd9a5d6acad4e6b81a9a1463b054d63_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="id2556de562a744458990ca59966cdaed_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ifabbec6449a34916ad9df5e29d2f6f6e_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="iea3bd684046647f78229f9ceba0f6ee8_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:AsiaPacificMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ife678ccf080a43d1b0ee873703dbcaee_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ifedd5887072e44fea0263be0920a542b_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ic8454b3e37874d90aa84f89024d5a8b1_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ibdd83831e18248e2a5f750063da3ff99_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i953f07c4b2494d26a6fe01799a51bc24_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i9f48e296bbbe4beea96e1571984ae057_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="if1e713ad3e5a49d0b2c7ff7d99db7945_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i2ec6ef1f0aaa43218a8f98388554346e_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ic311e9f2c92f40c88e2632ae6e3d706a_I20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tenb:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-31</instant>
        </period>
    </context>
    <context id="i474394868d884bd19aa8b62c2106628e_I20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-31</instant>
        </period>
    </context>
    <context id="ic27507748aa74c68adbf02cda170b247_I20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-31</instant>
        </period>
    </context>
    <context id="i6b47cf5d148845e39305f9c56cb03386_D20210701-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tenb:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="i22d4ed2ef0094089aaa256598254a397_I20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tenb:TermLoanMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-31</instant>
        </period>
    </context>
    <context id="i2f035c8204a54bdd8ef4cf49834546a6_D20210701-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="i8efe38317e0f4896b0bffe4230ba98d0_D20210701-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="ic1212a787fba4e16acba5a991f6749f8_D20210701-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tenb:CreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="i016d39a0111043fd9c193c5da349eac7_D20210701-20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tenb:CreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-07-31</endDate>
        </period>
    </context>
    <context id="i63371de6fd9942f8944e9b6e3fd97814_I20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-31</instant>
        </period>
    </context>
    <context id="if547456f2ff84257bddd900fb0f6fb4d_I20210731">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001660280</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tenb:CreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-31</instant>
        </period>
    </context>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <unit id="usd">
        <measure>iso4217:USD</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="segment">
        <measure>tenb:segment</measure>
    </unit>
    <dei:EntityCentralIndexKey
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80L2ZyYWc6YjAwYjRjMDQ1ODU4NGZiYzgzYjliY2M5OWRhMTVlNzAvdGFibGU6ZjA1ZjZmODRhODgzNDVmN2E5YTFmMTA0Nzk1Mzk1NGMvdGFibGVyYW5nZTpmMDVmNmY4NGE4ODM0NWY3YTlhMWYxMDQ3OTUzOTU0Y18zLTEtMS0xLTA_cb3796bb-268e-482f-be1f-1a788163501d">0001660280</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80L2ZyYWc6YjAwYjRjMDQ1ODU4NGZiYzgzYjliY2M5OWRhMTVlNzAvdGFibGU6ZjA1ZjZmODRhODgzNDVmN2E5YTFmMTA0Nzk1Mzk1NGMvdGFibGVyYW5nZTpmMDVmNmY4NGE4ODM0NWY3YTlhMWYxMDQ3OTUzOTU0Y180LTEtMS0xLTA_a28c7a38-8439-43de-a138-b145ce9e0992">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80L2ZyYWc6YjAwYjRjMDQ1ODU4NGZiYzgzYjliY2M5OWRhMTVlNzAvdGFibGU6ZjA1ZjZmODRhODgzNDVmN2E5YTFmMTA0Nzk1Mzk1NGMvdGFibGVyYW5nZTpmMDVmNmY4NGE4ODM0NWY3YTlhMWYxMDQ3OTUzOTU0Y181LTEtMS0xLTA_52c7f93c-6367-4c0b-aab6-9d6cfde670d8">2021</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80L2ZyYWc6YjAwYjRjMDQ1ODU4NGZiYzgzYjliY2M5OWRhMTVlNzAvdGFibGU6ZjA1ZjZmODRhODgzNDVmN2E5YTFmMTA0Nzk1Mzk1NGMvdGFibGVyYW5nZTpmMDVmNmY4NGE4ODM0NWY3YTlhMWYxMDQ3OTUzOTU0Y182LTEtMS0xLTA_91663b2e-6479-495b-8fc5-47f6e1d5a956">Q2</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80L2ZyYWc6YjAwYjRjMDQ1ODU4NGZiYzgzYjliY2M5OWRhMTVlNzAvdGFibGU6ZjA1ZjZmODRhODgzNDVmN2E5YTFmMTA0Nzk1Mzk1NGMvdGFibGVyYW5nZTpmMDVmNmY4NGE4ODM0NWY3YTlhMWYxMDQ3OTUzOTU0Y183LTEtMS0xLTA_36d321e7-6419-40bf-9cec-6965e8c2f989">false</dei:AmendmentFlag>
    <dei:DocumentType
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xL2ZyYWc6MmU0NzQyNDczYmUyNDgyNzkzZmIxNzE4ZTg5ZGZlNDcvdGV4dHJlZ2lvbjoyZTQ3NDI0NzNiZTI0ODI3OTNmYjE3MThlODlkZmU0N18xODc2_61ac9519-ed62-46d2-a1fe-a4574a786809">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xL2ZyYWc6MmU0NzQyNDczYmUyNDgyNzkzZmIxNzE4ZTg5ZGZlNDcvdGFibGU6YmI2ZTg2MTI1NzhiNGExYjg3YjJkNmNjYjNjY2EwMTYvdGFibGVyYW5nZTpiYjZlODYxMjU3OGI0YTFiODdiMmQ2Y2NiM2NjYTAxNl8wLTAtMS0xLTA_48164cc3-49ce-4d80-8350-dc2542dc6506">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xL2ZyYWc6MmU0NzQyNDczYmUyNDgyNzkzZmIxNzE4ZTg5ZGZlNDcvdGV4dHJlZ2lvbjoyZTQ3NDI0NzNiZTI0ODI3OTNmYjE3MThlODlkZmU0N18xNTk_09d65416-8b76-44fc-baeb-a4a9b18e538b">2021-06-30</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xL2ZyYWc6MmU0NzQyNDczYmUyNDgyNzkzZmIxNzE4ZTg5ZGZlNDcvdGFibGU6MWIxN2IwNDY4NGUyNGZmNDkyMTAyM2NhNGE3NzVkMjMvdGFibGVyYW5nZToxYjE3YjA0Njg0ZTI0ZmY0OTIxMDIzY2E0YTc3NWQyM18wLTAtMS0xLTA_1baed25e-5b48-4750-aaac-d6029a95ff16">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xL2ZyYWc6MmU0NzQyNDczYmUyNDgyNzkzZmIxNzE4ZTg5ZGZlNDcvdGV4dHJlZ2lvbjoyZTQ3NDI0NzNiZTI0ODI3OTNmYjE3MThlODlkZmU0N18xODc1_696bf4b8-6dac-42e3-b08c-1999a7deb2bd">001-38600</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xL2ZyYWc6MmU0NzQyNDczYmUyNDgyNzkzZmIxNzE4ZTg5ZGZlNDcvdGV4dHJlZ2lvbjoyZTQ3NDI0NzNiZTI0ODI3OTNmYjE3MThlODlkZmU0N18xODcx_3d056cda-cd0e-4211-b257-81fb601a9277">TENABLE HOLDINGS, INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xL2ZyYWc6MmU0NzQyNDczYmUyNDgyNzkzZmIxNzE4ZTg5ZGZlNDcvdGFibGU6YmQwNDM1MTQ2Y2YwNGZhNTkyMWEzMDZkMjNlODBkMWIvdGFibGVyYW5nZTpiZDA0MzUxNDZjZjA0ZmE1OTIxYTMwNmQyM2U4MGQxYl8wLTAtMS0xLTA_923cadc5-3985-4a82-b585-50070621729e">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xL2ZyYWc6MmU0NzQyNDczYmUyNDgyNzkzZmIxNzE4ZTg5ZGZlNDcvdGFibGU6YmQwNDM1MTQ2Y2YwNGZhNTkyMWEzMDZkMjNlODBkMWIvdGFibGVyYW5nZTpiZDA0MzUxNDZjZjA0ZmE1OTIxYTMwNmQyM2U4MGQxYl8wLTItMS0xLTA_3c483de1-bdbd-43d6-ae90-1d1a728f52b5">47-5580846</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xL2ZyYWc6MmU0NzQyNDczYmUyNDgyNzkzZmIxNzE4ZTg5ZGZlNDcvdGV4dHJlZ2lvbjoyZTQ3NDI0NzNiZTI0ODI3OTNmYjE3MThlODlkZmU0N18xODc4_0e6d7d5f-1ee4-40d1-a4d3-0e2a72cd9e5e">6100 Merriweather Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xL2ZyYWc6MmU0NzQyNDczYmUyNDgyNzkzZmIxNzE4ZTg5ZGZlNDcvdGV4dHJlZ2lvbjoyZTQ3NDI0NzNiZTI0ODI3OTNmYjE3MThlODlkZmU0N18xODcy_24a3ee91-702d-4861-8613-29f2d8e0f587">Columbia</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xL2ZyYWc6MmU0NzQyNDczYmUyNDgyNzkzZmIxNzE4ZTg5ZGZlNDcvdGV4dHJlZ2lvbjoyZTQ3NDI0NzNiZTI0ODI3OTNmYjE3MThlODlkZmU0N18xODcz_a5cd6a02-f26e-4c1b-b3ee-903dad9222ea">MD</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xL2ZyYWc6MmU0NzQyNDczYmUyNDgyNzkzZmIxNzE4ZTg5ZGZlNDcvdGV4dHJlZ2lvbjoyZTQ3NDI0NzNiZTI0ODI3OTNmYjE3MThlODlkZmU0N18xODgx_1ca7d30a-e8ce-4720-8b66-c1bfa00d29f5">21044</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xL2ZyYWc6MmU0NzQyNDczYmUyNDgyNzkzZmIxNzE4ZTg5ZGZlNDcvdGV4dHJlZ2lvbjoyZTQ3NDI0NzNiZTI0ODI3OTNmYjE3MThlODlkZmU0N18xODc0_05f496f7-3c81-4368-b90f-383386c6cdb6">410</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xL2ZyYWc6MmU0NzQyNDczYmUyNDgyNzkzZmIxNzE4ZTg5ZGZlNDcvdGV4dHJlZ2lvbjoyZTQ3NDI0NzNiZTI0ODI3OTNmYjE3MThlODlkZmU0N18xODc3_e8599078-7d21-4835-a7f2-d40a7e359220">872-0555</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xL2ZyYWc6MmU0NzQyNDczYmUyNDgyNzkzZmIxNzE4ZTg5ZGZlNDcvdGFibGU6NDI0MWRiODAyYTQwNDRlZjg2MWYyN2ZkMjdkZDlhY2IvdGFibGVyYW5nZTo0MjQxZGI4MDJhNDA0NGVmODYxZjI3ZmQyN2RkOWFjYl8xLTAtMS0xLTA_90ad25e8-2e83-4a2e-917a-2d26b3c3dc73">Common Stock, par value $0.01 per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xL2ZyYWc6MmU0NzQyNDczYmUyNDgyNzkzZmIxNzE4ZTg5ZGZlNDcvdGFibGU6NDI0MWRiODAyYTQwNDRlZjg2MWYyN2ZkMjdkZDlhY2IvdGFibGVyYW5nZTo0MjQxZGI4MDJhNDA0NGVmODYxZjI3ZmQyN2RkOWFjYl8xLTEtMS0xLTA_c0d9c4db-abf5-43cd-b116-9ac2a9c76759">TENB</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xL2ZyYWc6MmU0NzQyNDczYmUyNDgyNzkzZmIxNzE4ZTg5ZGZlNDcvdGFibGU6NDI0MWRiODAyYTQwNDRlZjg2MWYyN2ZkMjdkZDlhY2IvdGFibGVyYW5nZTo0MjQxZGI4MDJhNDA0NGVmODYxZjI3ZmQyN2RkOWFjYl8xLTItMS0xLTA_45529b31-269c-4fa0-8583-8404cff77e1e">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xL2ZyYWc6MmU0NzQyNDczYmUyNDgyNzkzZmIxNzE4ZTg5ZGZlNDcvdGV4dHJlZ2lvbjoyZTQ3NDI0NzNiZTI0ODI3OTNmYjE3MThlODlkZmU0N18xODgy_daa20872-2b74-4d3d-949b-c51ae259e249">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xL2ZyYWc6MmU0NzQyNDczYmUyNDgyNzkzZmIxNzE4ZTg5ZGZlNDcvdGV4dHJlZ2lvbjoyZTQ3NDI0NzNiZTI0ODI3OTNmYjE3MThlODlkZmU0N18xODc5_1dac0ba9-3f4a-46f1-aae4-926e77a8f952">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xL2ZyYWc6MmU0NzQyNDczYmUyNDgyNzkzZmIxNzE4ZTg5ZGZlNDcvdGFibGU6ZGRhOGNmZTk3MTBhNGNiZGJkNTkyNjIwOGRjMjg0ZjIvdGFibGVyYW5nZTpkZGE4Y2ZlOTcxMGE0Y2JkYmQ1OTI2MjA4ZGMyODRmMl8wLTAtMS0xLTA_1099657d-53ad-4009-8dff-6d3ef6ffaa1b">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntityEmergingGrowthCompany
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xL2ZyYWc6MmU0NzQyNDczYmUyNDgyNzkzZmIxNzE4ZTg5ZGZlNDcvdGFibGU6ZGRhOGNmZTk3MTBhNGNiZGJkNTkyNjIwOGRjMjg0ZjIvdGFibGVyYW5nZTpkZGE4Y2ZlOTcxMGE0Y2JkYmQ1OTI2MjA4ZGMyODRmMl8yLTEtMS0xLTA_d07b3ab1-f281-4fa5-a7eb-dde32938464f">false</dei:EntityEmergingGrowthCompany>
    <dei:EntitySmallBusiness
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xL2ZyYWc6MmU0NzQyNDczYmUyNDgyNzkzZmIxNzE4ZTg5ZGZlNDcvdGFibGU6ZGRhOGNmZTk3MTBhNGNiZGJkNTkyNjIwOGRjMjg0ZjIvdGFibGVyYW5nZTpkZGE4Y2ZlOTcxMGE0Y2JkYmQ1OTI2MjA4ZGMyODRmMl8yLTQtMS0xLTA_e547f465-d972-4eaf-a583-3e196e96d115">false</dei:EntitySmallBusiness>
    <dei:EntityShellCompany
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xL2ZyYWc6MmU0NzQyNDczYmUyNDgyNzkzZmIxNzE4ZTg5ZGZlNDcvdGV4dHJlZ2lvbjoyZTQ3NDI0NzNiZTI0ODI3OTNmYjE3MThlODlkZmU0N18xODgw_d68209bd-101f-43d9-b772-dfcf3d315838">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="i397cdd7144b2405c8237a117ded08265_I20210726"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xL2ZyYWc6MmU0NzQyNDczYmUyNDgyNzkzZmIxNzE4ZTg5ZGZlNDcvdGV4dHJlZ2lvbjoyZTQ3NDI0NzNiZTI0ODI3OTNmYjE3MThlODlkZmU0N18xODY5_59b07e05-707d-4a8e-86e5-f6153a202b02"
      unitRef="shares">106578737</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfNC0xLTEtMS0w_5220fd3f-82f4-4763-b3f8-328f09fd1911"
      unitRef="usd">135927000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfNC0zLTEtMS0w_ca4b4224-1abd-49f5-9b96-3b05e379dcff"
      unitRef="usd">178223000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:ShortTermInvestments
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfNS0xLTEtMS0w_3ba32f68-ec8d-47c5-bbab-c5e0fde2c13b"
      unitRef="usd">125111000</us-gaap:ShortTermInvestments>
    <us-gaap:ShortTermInvestments
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfNS0zLTEtMS0w_771a6919-e156-48fc-ad8b-c8e64d4fa41d"
      unitRef="usd">113623000</us-gaap:ShortTermInvestments>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfNi0wLTEtMS0wL3RleHRyZWdpb246OGM3MjYzNWZkYjZlNDAwMGIzOWI5Nzc2MDkyMmYyZmVfNjc_93ed293d-fae5-4838-a421-c388d583745a"
      unitRef="usd">240000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfNi0wLTEtMS0wL3RleHRyZWdpb246OGM3MjYzNWZkYjZlNDAwMGIzOWI5Nzc2MDkyMmYyZmVfNzQ_7835f1b4-8591-4419-a533-b343bcb5fd32"
      unitRef="usd">261000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfNi0xLTEtMS0w_695e2946-71f3-42f4-a834-c699a229a920"
      unitRef="usd">100483000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfNi0zLTEtMS0w_64f843b9-a439-4e6a-b39c-b95cd3a05305"
      unitRef="usd">115342000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:CapitalizedContractCostNetCurrent
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfNy0xLTEtMS0w_d33800c6-01cd-4e55-94ed-79b63211c6ec"
      unitRef="usd">32686000</us-gaap:CapitalizedContractCostNetCurrent>
    <us-gaap:CapitalizedContractCostNetCurrent
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfNy0zLTEtMS0w_bed4c65b-7584-44ac-b402-7a187335ee6a"
      unitRef="usd">32143000</us-gaap:CapitalizedContractCostNetCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfOC0xLTEtMS0w_d1a85d53-b97b-4526-a365-f30c15addbee"
      unitRef="usd">42255000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfOC0zLTEtMS0w_6e77f668-8c57-4dfa-bd70-ecf0bfa7b6ef"
      unitRef="usd">44462000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfOS0xLTEtMS0w_e2ceb605-a5e0-40d4-881a-81b2a49f3e57"
      unitRef="usd">436462000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfOS0zLTEtMS0w_7e7d9c74-5d86-422b-8ed1-05c958fbd96c"
      unitRef="usd">483793000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMTAtMS0xLTEtMA_5668c63b-a35a-4636-b97a-70308a6f463f"
      unitRef="usd">37407000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMTAtMy0xLTEtMA_894eebf1-2a38-420d-8d33-1b11eee941fc"
      unitRef="usd">38920000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:CapitalizedContractCostNetNoncurrent
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMTEtMS0xLTEtMA_7e2e64a6-3e85-4b70-93ec-7c10f0c3078d"
      unitRef="usd">45811000</us-gaap:CapitalizedContractCostNetNoncurrent>
    <us-gaap:CapitalizedContractCostNetNoncurrent
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMTEtMy0xLTEtMA_6709ea96-f036-4410-98e3-faa532fed99e"
      unitRef="usd">46733000</us-gaap:CapitalizedContractCostNetNoncurrent>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMTItMS0xLTEtMA_cb26b10e-0772-4b75-900e-fdf5083095cd"
      unitRef="usd">37299000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMTItMy0xLTEtMA_5f5bb989-ff5d-4838-b445-10045939b392"
      unitRef="usd">39426000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMTMtMS0xLTEtMA_899d16b1-b44e-4c1b-ae6c-26db7f84f196"
      unitRef="usd">42610000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMTMtMy0xLTEtMA_87459bea-c68a-41cb-9e5c-81e207b9f18c"
      unitRef="usd">13193000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:Goodwill
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMTQtMS0xLTEtMA_161f6c3a-d836-4a2c-ae81-e4e4ae2c79d0"
      unitRef="usd">126705000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMTQtMy0xLTEtMA_4ee68b2b-b8fb-4095-a97e-1bf052c37888"
      unitRef="usd">54414000</us-gaap:Goodwill>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMTUtMS0xLTEtMA_617422b6-2f8c-400a-85a1-34f099a5abff"
      unitRef="usd">18473000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMTUtMy0xLTEtMA_eddca8cb-fdca-4426-bd80-9610a55266ad"
      unitRef="usd">14110000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMTYtMS0xLTEtMA_0b57c2e3-d55b-4476-82f1-0f6866c1d544"
      unitRef="usd">744767000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMTYtMy0xLTEtMA_0dd9a8d9-8502-4b0d-a083-e3ea00c95804"
      unitRef="usd">690589000</us-gaap:Assets>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMjAtMS0xLTEtMA_c3bb2015-0514-4846-b5b1-36ee6b47d5a6"
      unitRef="usd">11992000</us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent>
    <us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMjAtMy0xLTEtMA_91bfa120-f92a-4972-baf8-54172cfd556c"
      unitRef="usd">5731000</us-gaap:AccountsPayableAndAccruedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMjEtMS0xLTEtMA_4dfd3704-7c86-4205-933e-6a46e7ad54cd"
      unitRef="usd">35901000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:EmployeeRelatedLiabilitiesCurrent
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMjEtMy0xLTEtMA_00c00f5e-45fb-49e3-9ee4-378c6d6e995d"
      unitRef="usd">35509000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMjItMS0xLTEtMA_39303a2c-62ce-4907-8fd7-8ac853971d42"
      unitRef="usd">334106000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMjItMy0xLTEtMA_ff6650d9-ef16-4497-9044-ee661abed8ac"
      unitRef="usd">328819000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMjMtMS0xLTEtMA_f169bc51-9e60-4c03-8c64-4196bf22401c"
      unitRef="usd">5355000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMjMtMy0xLTEtMA_53ea8327-9136-4a3d-8433-0bdbafb4a0cc"
      unitRef="usd">3815000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMjQtMS0xLTEtMA_e409b22a-4a8d-4f72-a32c-298f4f07f4fe"
      unitRef="usd">274000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMjQtMy0xLTEtMA_8df059f7-b295-40c4-a7ba-2fedd483f908"
      unitRef="usd">1028000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMjUtMS0xLTEtMA_a4a3b189-02b7-44cc-932b-49a2b1273ca5"
      unitRef="usd">387628000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMjUtMy0xLTEtMA_9052af29-872a-49b3-ab40-fae4d1bb18e1"
      unitRef="usd">374902000</us-gaap:LiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMjYtMS0xLTEtMA_1ee8c5ab-abed-4108-85cd-7dfd2d94b977"
      unitRef="usd">110768000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMjYtMy0xLTEtMA_ae881dc9-64e0-4406-8ad7-d2a6b0967471"
      unitRef="usd">105691000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMjctMS0xLTEtMA_d7bb92ba-727c-46e0-af29-ccbc7ff48a5b"
      unitRef="usd">52028000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMjctMy0xLTEtMA_e1342500-9a8f-48e4-8e4c-c0f0e89c2af4"
      unitRef="usd">54529000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMjgtMS0xLTEtMA_e9acd66f-b8a0-4ccf-a2b8-e30018330b9f"
      unitRef="usd">8888000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMjgtMy0xLTEtMA_018842eb-4081-49f8-abb3-72bd741cb472"
      unitRef="usd">4802000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMjktMS0xLTEtMA_3d157a41-42e7-42a6-a97a-e735e96e5792"
      unitRef="usd">559312000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMjktMy0xLTEtMA_f19fea10-0319-48af-beb2-fcfd6850327a"
      unitRef="usd">539924000</us-gaap:Liabilities>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMzItMC0xLTEtMC90ZXh0cmVnaW9uOmJiZmQzOGFjYmFiZTQ5ZjViODlkMzlkNzFkODUzODQ0XzI5_5e95e234-dec2-407b-ab4f-99cbc815a4e8"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMzItMC0xLTEtMC90ZXh0cmVnaW9uOmJiZmQzOGFjYmFiZTQ5ZjViODlkMzlkNzFkODUzODQ0XzI5_b578f30f-3736-4ca2-894f-7683ff84a107"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMzItMC0xLTEtMC90ZXh0cmVnaW9uOmJiZmQzOGFjYmFiZTQ5ZjViODlkMzlkNzFkODUzODQ0XzMz_b68ad3c5-d539-41e1-9fd3-fcc66de7e15c"
      unitRef="shares">500000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMzItMC0xLTEtMC90ZXh0cmVnaW9uOmJiZmQzOGFjYmFiZTQ5ZjViODlkMzlkNzFkODUzODQ0XzMz_ba1a1855-9290-485c-bea0-e71ef41aa4ab"
      unitRef="shares">500000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMzItMC0xLTEtMC90ZXh0cmVnaW9uOmJiZmQzOGFjYmFiZTQ5ZjViODlkMzlkNzFkODUzODQ0XzU1_894748e1-f335-4177-9dfc-eb0bf0bed489"
      unitRef="shares">106510000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMzItMC0xLTEtMC90ZXh0cmVnaW9uOmJiZmQzOGFjYmFiZTQ5ZjViODlkMzlkNzFkODUzODQ0XzU1_a78e1205-f6c2-49a4-91e2-c5d472cf5968"
      unitRef="shares">106510000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMzItMC0xLTEtMC90ZXh0cmVnaW9uOmJiZmQzOGFjYmFiZTQ5ZjViODlkMzlkNzFkODUzODQ0XzYy_7b7321f1-9992-4210-a8ac-3ba591ee596a"
      unitRef="shares">103715000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMzItMC0xLTEtMC90ZXh0cmVnaW9uOmJiZmQzOGFjYmFiZTQ5ZjViODlkMzlkNzFkODUzODQ0XzYy_e1267e28-74d0-4f0b-a836-cfdf7998de31"
      unitRef="shares">103715000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockValue
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMzItMS0xLTEtMA_df430a52-8ead-411e-b7bf-113256a11b7a"
      unitRef="usd">1065000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMzItMy0xLTEtMA_fb6a4076-b10c-4e16-901f-25a4ece5e867"
      unitRef="usd">1037000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapital
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMzMtMS0xLTEtMA_5a8c1c7b-b47f-4654-b896-86a342135dee"
      unitRef="usd">811644000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AdditionalPaidInCapital
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMzMtMy0xLTEtMA_21369606-58f2-4fe4-830e-8a84201db3c7"
      unitRef="usd">757470000</us-gaap:AdditionalPaidInCapital>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMzQtMS0xLTEtMA_a1654d62-3255-4b9a-8aeb-1d94362c32ab"
      unitRef="usd">-16000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMzQtMy0xLTEtMA_c92213a0-74ee-4ffd-a9b8-ad879e480912"
      unitRef="usd">10000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMzUtMS0xLTEtMA_e901d7d7-b412-4fe6-9436-9e3ba862bb70"
      unitRef="usd">-627238000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMzUtMy0xLTEtMA_f8bf0d8f-d1bf-4df9-b331-d0a3d01e436d"
      unitRef="usd">-607852000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMzYtMS0xLTEtMA_18ce678f-fabd-4e79-9b3d-43cf4e23cd76"
      unitRef="usd">185455000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMzYtMy0xLTEtMA_f215a531-47f0-427e-a95f-210c6d1bf705"
      unitRef="usd">150665000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMzctMS0xLTEtMA_44ca976f-e414-4524-b6a9-bc260518f1d7"
      unitRef="usd">744767000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMy9mcmFnOjY5ZTQ5NzYwZWJjNDQ3YTViNTgzZDA3YTNmZTUwNDhlL3RhYmxlOmQ5NTRiMjBmMzZjMjQ5ZGNiNmRmNjUzYjczNmUyMmMzL3RhYmxlcmFuZ2U6ZDk1NGIyMGYzNmMyNDlkY2I2ZGY2NTNiNzM2ZTIyYzNfMzctMy0xLTEtMA_5a6067dd-4165-43e1-bce0-c8ae2b4f540d"
      unitRef="usd">690589000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMi0xLTEtMS02Mg_4bcf2a1f-b0dc-477b-b258-b1cd8112e83a"
      unitRef="usd">130259000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMi0zLTEtMS02Mg_4e3e8083-0f07-4efb-abca-0f71c0825d35"
      unitRef="usd">107209000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMi01LTEtMS02Mg_2beb8ec0-56f2-4e40-8d2a-682b9405494f"
      unitRef="usd">253448000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMi03LTEtMS02Mg_c2d7cd83-bc68-464a-bae4-3d748900555d"
      unitRef="usd">209857000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfRevenue
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMy0xLTEtMS02Mg_492e6ec6-d7ca-4d11-acea-cc9cacd67db9"
      unitRef="usd">26425000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMy0zLTEtMS02Mg_eec302f3-68f7-4432-8de8-e0f9afd927c4"
      unitRef="usd">19142000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMy01LTEtMS02Mg_212aa559-58bb-4c77-af37-00b8a6de7a19"
      unitRef="usd">48498000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMy03LTEtMS02Mg_e1fb993e-0bf9-43c5-9c54-f94e8c057e0d"
      unitRef="usd">37843000</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfNC0xLTEtMS02MDY_fa0702b3-0fee-4158-aeb6-f0bc0f7a06a7"
      unitRef="usd">103834000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfNC0zLTEtMS02MDY_c8ffe11f-1ed9-4baf-8d66-f8aada6ad9ca"
      unitRef="usd">88067000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfNC01LTEtMS02MDY_03059187-faec-4e86-b0f2-30f6b83eb29c"
      unitRef="usd">204950000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfNC03LTEtMS02MDY_831ae695-d3bb-41da-a491-12f9acd6c7a1"
      unitRef="usd">172014000</us-gaap:GrossProfit>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfNi0xLTEtMS02Mg_2b3e3208-9e51-406d-9880-dfb0cbaf05c1"
      unitRef="usd">65678000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfNi0zLTEtMS02Mg_5fd46966-5ae6-438e-9d1f-299ab14e722b"
      unitRef="usd">55443000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfNi01LTEtMS02Mg_16d73a1e-c8a4-4eae-a7bb-381568dc1060"
      unitRef="usd">124313000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfNi03LTEtMS02Mg_6eae9076-5afe-40c3-9687-12f353d2f7dc"
      unitRef="usd">115298000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfNy0xLTEtMS02Mg_89c60aac-204b-43c8-b6a5-d253e4b39863"
      unitRef="usd">28201000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfNy0zLTEtMS02Mg_b87fb02a-0f03-444f-a716-3ca014498ce2"
      unitRef="usd">25310000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfNy01LTEtMS02Mg_9934caf6-d051-4542-a727-3947eca779b3"
      unitRef="usd">55039000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfNy03LTEtMS02Mg_f6e683e1-6c6e-4e53-b2b8-f2bbec45ed0d"
      unitRef="usd">52141000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfOC0xLTEtMS02Mg_dbc72ff4-d3ad-4105-9c45-119794d057a1"
      unitRef="usd">21836000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfOC0zLTEtMS02Mg_134405ba-b603-4383-b8d0-3a103e839f43"
      unitRef="usd">17879000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfOC01LTEtMS02Mg_f2b4a6a9-0d55-4e7c-a38c-329752ee14ab"
      unitRef="usd">43281000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfOC03LTEtMS02Mg_a5cd21a3-4b03-40ab-b3bd-cd98049cded2"
      unitRef="usd">36812000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:OperatingExpenses
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfOS0xLTEtMS02MDg_8d5a6401-40fe-420b-b781-1a287cd7ab26"
      unitRef="usd">115715000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfOS0zLTEtMS02MDg_7c05a7ce-b8ed-4917-a4e6-16e19d322ad1"
      unitRef="usd">98632000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfOS01LTEtMS02MDg_fb6a8ba4-55dd-4ec4-8467-d166382a7660"
      unitRef="usd">222633000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfOS03LTEtMS02MDg_b6a5b845-277a-4df3-a4b8-88db4ce5a10d"
      unitRef="usd">204251000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTAtMS0xLTEtNjA4_266947d6-5cec-4b76-b49d-6c15775cb652"
      unitRef="usd">-11881000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTAtMy0xLTEtNjA4_95873a35-1a43-4fc2-b9d7-285b1658e5a8"
      unitRef="usd">-10565000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTAtNS0xLTEtNjA4_4527103d-a729-4617-b933-1e785a446dc7"
      unitRef="usd">-17683000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTAtNy0xLTEtNjA4_edca31fe-fbeb-4fa0-8d87-c76b6577347e"
      unitRef="usd">-32237000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTEtMS0xLTEtNjI_8faf142d-e768-446e-8698-ea35baf64a9c"
      unitRef="usd">-42000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTEtMy0xLTEtNjI_164de665-501c-4290-b76c-30f37802a341"
      unitRef="usd">455000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTEtNS0xLTEtNjI_06c6874b-42cb-4c78-bb5a-00d42bb80016"
      unitRef="usd">-70000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:InterestIncomeExpenseNet
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTEtNy0xLTEtNjI_ea89d1ba-9b81-47f8-941e-6b5136bdaffe"
      unitRef="usd">1189000</us-gaap:InterestIncomeExpenseNet>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTItMS0xLTEtNjI_74f87eea-00f0-46a7-b879-8564eddfa5c8"
      unitRef="usd">-471000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTItMy0xLTEtNjI_58dc979d-2ba3-4629-964b-ec31aca3a6b7"
      unitRef="usd">-298000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTItNS0xLTEtNjI_946ee473-c096-41c0-942c-7ccbfdb283d0"
      unitRef="usd">-537000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTItNy0xLTEtNjI_32d8cd18-3847-4834-b0c5-03b86cd06e19"
      unitRef="usd">-1258000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossAttributableToParent
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTMtMS0xLTEtNjA4_04183984-cb3d-4381-88a4-525da939fce6"
      unitRef="usd">-12394000</us-gaap:IncomeLossAttributableToParent>
    <us-gaap:IncomeLossAttributableToParent
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTMtMy0xLTEtNjA4_c0749898-d85e-4a08-82bd-c3bc4d626994"
      unitRef="usd">-10408000</us-gaap:IncomeLossAttributableToParent>
    <us-gaap:IncomeLossAttributableToParent
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTMtNS0xLTEtNjA4_79825c35-790c-4432-8fff-418e6c3b27ac"
      unitRef="usd">-18290000</us-gaap:IncomeLossAttributableToParent>
    <us-gaap:IncomeLossAttributableToParent
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTMtNy0xLTEtNjA4_c2e0b310-629c-4fbf-82e9-a5c87bb26a47"
      unitRef="usd">-32306000</us-gaap:IncomeLossAttributableToParent>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTQtMS0xLTEtNjI_41041cb7-0579-4525-bacb-b7b2adbd7d33"
      unitRef="usd">-756000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTQtMy0xLTEtNjI_37cf3832-d66c-427e-82bd-9a9635917083"
      unitRef="usd">1552000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTQtNS0xLTEtNjI_9e567016-6fb6-4ece-bcad-c085fcf3727c"
      unitRef="usd">1096000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTQtNy0xLTEtNjI_092d9430-97ba-445f-9525-86841d1c81d5"
      unitRef="usd">2631000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTUtMS0xLTEtNjA4_8f14e201-4d4c-4539-b8c8-70a7edd3070c"
      unitRef="usd">-11638000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTUtMy0xLTEtNjA4_ac45e49f-4ec7-4d5c-bc17-63fe4ba80caa"
      unitRef="usd">-11960000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTUtNS0xLTEtNjY_7bf07277-fae6-43fa-abd8-74a94e284c33"
      unitRef="usd">-19386000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTUtNy0xLTEtNjA4_e8e376ed-02b7-40cd-bd68-300dedc92ec0"
      unitRef="usd">-34937000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTctMS0xLTEtNjI_49b4127f-bf53-4cbd-9ab8-290b64a25395"
      unitRef="usdPerShare">-0.11</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTctMS0xLTEtNjI_4bddb259-98eb-4600-8805-db48230884cb"
      unitRef="usdPerShare">-0.11</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTctMy0xLTEtNjI_7888368b-a336-44f0-a851-f118370d87ae"
      unitRef="usdPerShare">-0.12</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTctMy0xLTEtNjI_a52bfff8-179b-4dcf-b364-12b6507fdbd9"
      unitRef="usdPerShare">-0.12</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTctNS0xLTEtNjI_3bcb3ccc-f10f-4e3c-87ca-7d8ac3b03615"
      unitRef="usdPerShare">-0.18</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTctNS0xLTEtNjI_a60695b2-5926-4c85-accc-f6897c23d29a"
      unitRef="usdPerShare">-0.18</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTctNy0xLTEtNjI_7e48dd22-0730-4342-ad4c-df040944139f"
      unitRef="usdPerShare">-0.35</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTctNy0xLTEtNjI_adde42ef-7dbe-415b-8dba-254da5bcfe67"
      unitRef="usdPerShare">-0.35</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTgtMS0xLTEtNjI_5f79738a-ca5c-49ed-9fa4-a44ce8dd7f93"
      unitRef="shares">105869000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTgtMS0xLTEtNjI_eedef7d3-5353-4087-9e61-299c22185f39"
      unitRef="shares">105869000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTgtMy0xLTEtNjI_4cba2a17-cea2-4ca3-a5ff-71d77e8a663a"
      unitRef="shares">100209000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTgtMy0xLTEtNjI_b7f66d86-b982-4cd8-bfde-321cf5f5bae4"
      unitRef="shares">100209000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTgtNS0xLTEtNjI_46592dee-24f2-4a63-b768-e4acdaac3d59"
      unitRef="shares">105203000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTgtNS0xLTEtNjI_724189ad-1dbb-4ea6-868c-0c482dc68b1d"
      unitRef="shares">105203000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTgtNy0xLTEtNjI_b45f629f-ae5a-44e5-b376-d4d3b62eb103"
      unitRef="shares">99532000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xNi9mcmFnOjRhMDcxNjliZmQ3OTQ2YmM5NDM1YTI1NjJkMjUxNDE2L3RhYmxlOmViNjg1YzY2NjlmYzQ2MDFiMzk5ZDI3MmQwYTZkMTUyL3RhYmxlcmFuZ2U6ZWI2ODVjNjY2OWZjNDYwMWIzOTlkMjcyZDBhNmQxNTJfMTgtNy0xLTEtNjI_eb77622f-1dac-4e6f-a30e-f91d8ffcc773"
      unitRef="shares">99532000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yMi9mcmFnOjIxMzI2MzA1YjRmOTQ2ZjQ5OTVjYTk1Y2MyOWE3Zjg3L3RhYmxlOmJkYmI5NDNhYzdlMjQwNzM5OWU4MTUyMjk4Yjc2MmIwL3RhYmxlcmFuZ2U6YmRiYjk0M2FjN2UyNDA3Mzk5ZTgxNTIyOThiNzYyYjBfMi0xLTEtMS03Nw_bdcd8630-ef7f-4fcf-ae76-6b662c0a828a"
      unitRef="usd">-11638000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yMi9mcmFnOjIxMzI2MzA1YjRmOTQ2ZjQ5OTVjYTk1Y2MyOWE3Zjg3L3RhYmxlOmJkYmI5NDNhYzdlMjQwNzM5OWU4MTUyMjk4Yjc2MmIwL3RhYmxlcmFuZ2U6YmRiYjk0M2FjN2UyNDA3Mzk5ZTgxNTIyOThiNzYyYjBfMi0zLTEtMS03Nw_dbde34b5-679d-401b-a1ff-37e06b3ced23"
      unitRef="usd">-11960000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yMi9mcmFnOjIxMzI2MzA1YjRmOTQ2ZjQ5OTVjYTk1Y2MyOWE3Zjg3L3RhYmxlOmJkYmI5NDNhYzdlMjQwNzM5OWU4MTUyMjk4Yjc2MmIwL3RhYmxlcmFuZ2U6YmRiYjk0M2FjN2UyNDA3Mzk5ZTgxNTIyOThiNzYyYjBfMi01LTEtMS03Nw_aba64ff2-91ee-4944-87d1-755ddac2710b"
      unitRef="usd">-19386000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yMi9mcmFnOjIxMzI2MzA1YjRmOTQ2ZjQ5OTVjYTk1Y2MyOWE3Zjg3L3RhYmxlOmJkYmI5NDNhYzdlMjQwNzM5OWU4MTUyMjk4Yjc2MmIwL3RhYmxlcmFuZ2U6YmRiYjk0M2FjN2UyNDA3Mzk5ZTgxNTIyOThiNzYyYjBfMi03LTEtMS03Nw_190fec77-8ed4-4eab-ae33-4eece8973110"
      unitRef="usd">-34937000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yMi9mcmFnOjIxMzI2MzA1YjRmOTQ2ZjQ5OTVjYTk1Y2MyOWE3Zjg3L3RhYmxlOmJkYmI5NDNhYzdlMjQwNzM5OWU4MTUyMjk4Yjc2MmIwL3RhYmxlcmFuZ2U6YmRiYjk0M2FjN2UyNDA3Mzk5ZTgxNTIyOThiNzYyYjBfNC0xLTEtMS03Nw_2349c4a3-84c1-46a1-ac37-e6296c49d813"
      unitRef="usd">-24000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yMi9mcmFnOjIxMzI2MzA1YjRmOTQ2ZjQ5OTVjYTk1Y2MyOWE3Zjg3L3RhYmxlOmJkYmI5NDNhYzdlMjQwNzM5OWU4MTUyMjk4Yjc2MmIwL3RhYmxlcmFuZ2U6YmRiYjk0M2FjN2UyNDA3Mzk5ZTgxNTIyOThiNzYyYjBfNC0zLTEtMS03Nw_fdcaf09b-2e5b-4731-861f-effe9ec58881"
      unitRef="usd">-14000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yMi9mcmFnOjIxMzI2MzA1YjRmOTQ2ZjQ5OTVjYTk1Y2MyOWE3Zjg3L3RhYmxlOmJkYmI5NDNhYzdlMjQwNzM5OWU4MTUyMjk4Yjc2MmIwL3RhYmxlcmFuZ2U6YmRiYjk0M2FjN2UyNDA3Mzk5ZTgxNTIyOThiNzYyYjBfNC01LTEtMS03Nw_8af19a80-f2a2-4ca6-ab39-e77996455e23"
      unitRef="usd">-26000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yMi9mcmFnOjIxMzI2MzA1YjRmOTQ2ZjQ5OTVjYTk1Y2MyOWE3Zjg3L3RhYmxlOmJkYmI5NDNhYzdlMjQwNzM5OWU4MTUyMjk4Yjc2MmIwL3RhYmxlcmFuZ2U6YmRiYjk0M2FjN2UyNDA3Mzk5ZTgxNTIyOThiNzYyYjBfNC03LTEtMS03Nw_8e7b2abd-2c17-4c26-be5d-d0ad0204f193"
      unitRef="usd">99000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yMi9mcmFnOjIxMzI2MzA1YjRmOTQ2ZjQ5OTVjYTk1Y2MyOWE3Zjg3L3RhYmxlOmJkYmI5NDNhYzdlMjQwNzM5OWU4MTUyMjk4Yjc2MmIwL3RhYmxlcmFuZ2U6YmRiYjk0M2FjN2UyNDA3Mzk5ZTgxNTIyOThiNzYyYjBfNS0xLTEtMS02NTM_3e4808ea-9f45-4cf5-b79b-6e67be776265"
      unitRef="usd">-24000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yMi9mcmFnOjIxMzI2MzA1YjRmOTQ2ZjQ5OTVjYTk1Y2MyOWE3Zjg3L3RhYmxlOmJkYmI5NDNhYzdlMjQwNzM5OWU4MTUyMjk4Yjc2MmIwL3RhYmxlcmFuZ2U6YmRiYjk0M2FjN2UyNDA3Mzk5ZTgxNTIyOThiNzYyYjBfNS0zLTEtMS02NTM_07365fb5-3fc5-484c-a4cf-70dab220eb7f"
      unitRef="usd">-14000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yMi9mcmFnOjIxMzI2MzA1YjRmOTQ2ZjQ5OTVjYTk1Y2MyOWE3Zjg3L3RhYmxlOmJkYmI5NDNhYzdlMjQwNzM5OWU4MTUyMjk4Yjc2MmIwL3RhYmxlcmFuZ2U6YmRiYjk0M2FjN2UyNDA3Mzk5ZTgxNTIyOThiNzYyYjBfNS01LTEtMS02NTM_6c590075-2689-4c77-9596-070550d4a173"
      unitRef="usd">-26000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yMi9mcmFnOjIxMzI2MzA1YjRmOTQ2ZjQ5OTVjYTk1Y2MyOWE3Zjg3L3RhYmxlOmJkYmI5NDNhYzdlMjQwNzM5OWU4MTUyMjk4Yjc2MmIwL3RhYmxlcmFuZ2U6YmRiYjk0M2FjN2UyNDA3Mzk5ZTgxNTIyOThiNzYyYjBfNS03LTEtMS02NTM_412bb686-fbf5-4365-923e-b55ca1e5c90b"
      unitRef="usd">99000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yMi9mcmFnOjIxMzI2MzA1YjRmOTQ2ZjQ5OTVjYTk1Y2MyOWE3Zjg3L3RhYmxlOmJkYmI5NDNhYzdlMjQwNzM5OWU4MTUyMjk4Yjc2MmIwL3RhYmxlcmFuZ2U6YmRiYjk0M2FjN2UyNDA3Mzk5ZTgxNTIyOThiNzYyYjBfNi0xLTEtMS02NTY_6e6c54db-1907-4fd4-a2e7-58cb79a6b30b"
      unitRef="usd">-11662000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yMi9mcmFnOjIxMzI2MzA1YjRmOTQ2ZjQ5OTVjYTk1Y2MyOWE3Zjg3L3RhYmxlOmJkYmI5NDNhYzdlMjQwNzM5OWU4MTUyMjk4Yjc2MmIwL3RhYmxlcmFuZ2U6YmRiYjk0M2FjN2UyNDA3Mzk5ZTgxNTIyOThiNzYyYjBfNi0zLTEtMS02NTY_27a0d962-2c05-4b38-8370-f05fe1d7ab33"
      unitRef="usd">-11974000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yMi9mcmFnOjIxMzI2MzA1YjRmOTQ2ZjQ5OTVjYTk1Y2MyOWE3Zjg3L3RhYmxlOmJkYmI5NDNhYzdlMjQwNzM5OWU4MTUyMjk4Yjc2MmIwL3RhYmxlcmFuZ2U6YmRiYjk0M2FjN2UyNDA3Mzk5ZTgxNTIyOThiNzYyYjBfNi01LTEtMS02NTY_734654eb-248e-49bb-890f-c489fc373973"
      unitRef="usd">-19412000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yMi9mcmFnOjIxMzI2MzA1YjRmOTQ2ZjQ5OTVjYTk1Y2MyOWE3Zjg3L3RhYmxlOmJkYmI5NDNhYzdlMjQwNzM5OWU4MTUyMjk4Yjc2MmIwL3RhYmxlcmFuZ2U6YmRiYjk0M2FjN2UyNDA3Mzk5ZTgxNTIyOThiNzYyYjBfNi03LTEtMS02NTY_787f76a8-3a1a-4137-ad61-ee324b130a59"
      unitRef="usd">-34838000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ia52eb755a5de46f39ca27083a81797b3_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMy0xLTEtMS04NQ_cd9c6379-af2b-42c9-8690-4c9a0068fcef"
      unitRef="shares">105513000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="ia52eb755a5de46f39ca27083a81797b3_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMy0zLTEtMS04NQ_48911675-4153-446c-96ef-02435545e411"
      unitRef="usd">1055000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i2027bd7d550e4e6c8984b662a039c44f_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMy01LTEtMS04NQ_04ffa7f9-b5dc-451e-b8b5-797ed4b32fc5"
      unitRef="usd">786476000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i741e335dfe75486ca6e6d79cdaedda57_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMy03LTEtMS04NQ_439de498-c1bf-4123-b928-75a160e1f5ff"
      unitRef="usd">8000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ibd321badb75b42748469404816718717_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMy05LTEtMS04NQ_e02bee4c-833d-48c1-8f96-0fc637359a77"
      unitRef="usd">-615600000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i13241181c0cb4760aa2bfa8ac3a897d8_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMy0xMS0xLTEtNjYw_887701bd-099e-4337-98cb-25752cfb4730"
      unitRef="usd">171939000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="iabcb93f927c74d2390407520b9633e72_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfNC0xLTEtMS04NQ_d152f746-ea39-4a0d-9a03-14c8151d0bfc"
      unitRef="shares">605000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="iabcb93f927c74d2390407520b9633e72_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfNC0zLTEtMS04NQ_938bfd8c-67e5-4b35-814a-6fc5502f13b8"
      unitRef="usd">6000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="ie66411e77a3d46d9b130d8da9926cd36_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfNC01LTEtMS04NQ_5d432022-3ce5-4e8b-8f4e-0e8ec39395bd"
      unitRef="usd">4683000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfNC0xMS0xLTEtNjk0_67eda5ec-6357-4fd5-8479-8ecfee3312c0"
      unitRef="usd">4689000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <tenb:StockIssuedDuringPeriodSharesRestrictedStockUnit
      contextRef="iabcb93f927c74d2390407520b9633e72_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfNS0xLTEtMS04NQ_13456236-8fc6-48fd-b76a-e3f2e4bb29b2"
      unitRef="shares">392000</tenb:StockIssuedDuringPeriodSharesRestrictedStockUnit>
    <tenb:StockIssuedDuringPeriodValueRestrictedStockUnit
      contextRef="iabcb93f927c74d2390407520b9633e72_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfNS0zLTEtMS04NQ_4a37e21a-5ea7-484b-bf3a-5bf523f7d738"
      unitRef="usd">4000</tenb:StockIssuedDuringPeriodValueRestrictedStockUnit>
    <tenb:StockIssuedDuringPeriodValueRestrictedStockUnit
      contextRef="ie66411e77a3d46d9b130d8da9926cd36_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfNS01LTEtMS04NQ_aa3e325c-f590-4255-92dc-e6e3883edc27"
      unitRef="usd">-4000</tenb:StockIssuedDuringPeriodValueRestrictedStockUnit>
    <tenb:StockIssuedDuringPeriodValueRestrictedStockUnit
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfNS0xMS0xLTEtNjk0_6d89e7ab-4d73-453f-887a-a7d0df3c296e"
      unitRef="usd">0</tenb:StockIssuedDuringPeriodValueRestrictedStockUnit>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ie66411e77a3d46d9b130d8da9926cd36_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfNy01LTEtMS04NQ_3ad343ae-104e-4f04-866f-97529a00feb3"
      unitRef="usd">20489000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfNy0xMS0xLTEtNjk0_b042dd7b-161b-48a4-a63a-0fe2101f389f"
      unitRef="usd">20489000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i8881315aa64d4e158879b7b9b2b5a7a0_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfOC03LTEtMS04NQ_4585eee0-12cf-4923-9965-b531693e19e2"
      unitRef="usd">-24000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfOC0xMS0xLTEtNjk2_f63b42fa-c812-4c0c-9d64-35936dae0060"
      unitRef="usd">-24000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:NetIncomeLoss
      contextRef="i77da0e6944e546468a8f3242a7e697bf_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfOS05LTEtMS04NQ_13894ca5-7dbe-4a5f-87f9-f48aa0e363b6"
      unitRef="usd">-11638000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfOS0xMS0xLTEtNjk4_a9b51b52-c5e3-45a8-a415-c74879fee9f2"
      unitRef="usd">-11638000</us-gaap:NetIncomeLoss>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i661c192019354cedb90a5eff0a6e17c5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTAtMS0xLTEtNjYy_4d7db2ab-a9bd-40e9-957b-0860572dd2b7"
      unitRef="shares">106510000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i661c192019354cedb90a5eff0a6e17c5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTAtMy0xLTEtNjYy_6dbd2c1c-83fb-45c5-967a-c3e905ed631f"
      unitRef="usd">1065000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5d8faf2608944268a6c3ecf7e26a41d8_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTAtNS0xLTEtNjYy_eb3d4a85-2d05-4a1a-88b3-82cba1a012ef"
      unitRef="usd">811644000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i71f46b838a154a8eb5dc621c1fe03ee5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTAtNy0xLTEtNjYy_2e6496be-f358-4819-8dc6-1ae93e2c4665"
      unitRef="usd">-16000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i50f4b885957148e294fc3d55e7c8c20a_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTAtOS0xLTEtNjYy_1990b7b8-2299-48d5-9cbc-b6e27d2e4eab"
      unitRef="usd">-627238000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTAtMTEtMS0xLTY2Mg_51cac782-1ca0-486c-9b3e-54cadf36a39c"
      unitRef="usd">185455000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i81102fdba90f4c59a0af1357243e22cc_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTItMS0xLTEtODU_7413d030-ee6e-46e9-8529-b20e5cb3cfb0"
      unitRef="shares">103715000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i81102fdba90f4c59a0af1357243e22cc_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTItMy0xLTEtODU_5275a42d-d369-423e-ab7e-16cca8c5add3"
      unitRef="usd">1037000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i8201609425844399abbff1b09f099fcf_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTItNS0xLTEtODU_c1336898-f987-476d-8d21-4ad89a211d50"
      unitRef="usd">757470000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i687226a6cab3461faec227a102ccf65a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTItNy0xLTEtODU_2a9104fb-9152-481d-a13f-f35e0c5a8f6f"
      unitRef="usd">10000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i7d35503bf578485490527ca22dcd235a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTItOS0xLTEtODU_1593cc87-abb4-4591-aea8-65f53f3f8326"
      unitRef="usd">-607852000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTItMTEtMS0xLTY2Ng_13aeebd9-f637-41be-94f5-bb9cce611519"
      unitRef="usd">150665000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i28262c3205884cd88cc369e102b85a15_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTMtMS0xLTEtODU_806c574b-33bf-40cb-bf11-cf581f1d5cc8"
      unitRef="shares">1212000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i28262c3205884cd88cc369e102b85a15_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTMtMy0xLTEtODU_093a3c7c-580a-4285-9e9a-21cfd8d3cbbc"
      unitRef="usd">12000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="ibe60e89c68794365ac5928e81b1b3b43_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTMtNS0xLTEtODU_a0d666ab-29a2-4612-ade3-a20ba4f34dd0"
      unitRef="usd">8692000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTMtMTEtMS0xLTY4OA_cf7c6e09-b7d7-4fcd-805a-14ccef812dc1"
      unitRef="usd">8704000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <tenb:StockIssuedDuringPeriodSharesRestrictedStockUnit
      contextRef="i28262c3205884cd88cc369e102b85a15_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTQtMS0xLTEtODU_c2635a30-f0f8-4845-b129-a86ffa5ab736"
      unitRef="shares">1184000</tenb:StockIssuedDuringPeriodSharesRestrictedStockUnit>
    <tenb:StockIssuedDuringPeriodValueRestrictedStockUnit
      contextRef="i28262c3205884cd88cc369e102b85a15_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTQtMy0xLTEtODU_6ce04f44-6459-4551-a7ce-bf39c63219e4"
      unitRef="usd">12000</tenb:StockIssuedDuringPeriodValueRestrictedStockUnit>
    <tenb:StockIssuedDuringPeriodValueRestrictedStockUnit
      contextRef="ibe60e89c68794365ac5928e81b1b3b43_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTQtNS0xLTEtODU_b341342c-865c-4ed1-97fd-21c4c42eacca"
      unitRef="usd">-12000</tenb:StockIssuedDuringPeriodValueRestrictedStockUnit>
    <tenb:StockIssuedDuringPeriodValueRestrictedStockUnit
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTQtMTEtMS0xLTY4OA_2153a1b4-e354-4c2d-a4ed-fb04d935ace2"
      unitRef="usd">0</tenb:StockIssuedDuringPeriodValueRestrictedStockUnit>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="i28262c3205884cd88cc369e102b85a15_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTUtMS0xLTEtODU_8d826105-2d80-445b-a69c-ff53993e5a4e"
      unitRef="shares">399000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i28262c3205884cd88cc369e102b85a15_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTUtMy0xLTEtODU_2859a576-f620-427b-b66b-ad06e29e3175"
      unitRef="usd">4000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="ibe60e89c68794365ac5928e81b1b3b43_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTUtNS0xLTEtODU_dcfb41ee-ea2e-4324-b9ef-819a8b22abb6"
      unitRef="usd">8042000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTUtMTEtMS0xLTY4OA_6feaacc8-ca95-4db3-8ca3-e8d0cea2292f"
      unitRef="usd">8046000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ibe60e89c68794365ac5928e81b1b3b43_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTYtNS0xLTEtODU_77df5eac-6029-4b6c-b6fa-558593206ea9"
      unitRef="usd">37452000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTYtMTEtMS0xLTY4OA_08228eba-d2d0-4550-837c-4141e44d101d"
      unitRef="usd">37452000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i6e8f62fdd3a246f88bbe480dc2a7ad54_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTctNy0xLTEtODU_20350c70-740d-43cd-a2c7-36e18e9522e4"
      unitRef="usd">-26000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTctMTEtMS0xLTY5MA_5ecb01b6-26be-4545-bdde-4a44f9c0b103"
      unitRef="usd">-26000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:NetIncomeLoss
      contextRef="i736d764297a146f489d0ef720c255bf8_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTgtOS0xLTEtODU_55cf287e-7889-4654-8783-78c83c91c148"
      unitRef="usd">-19386000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTgtMTEtMS0xLTY5Mg_d8fa6746-1079-4869-9586-6fa7b2841d75"
      unitRef="usd">-19386000</us-gaap:NetIncomeLoss>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i661c192019354cedb90a5eff0a6e17c5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTktMS0xLTEtNjY0_27a7190f-ffc2-40cc-b55e-270c3c608ad2"
      unitRef="shares">106510000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i661c192019354cedb90a5eff0a6e17c5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTktMy0xLTEtNjY0_a48b97bb-7db6-42a0-8b4a-3dec740c768e"
      unitRef="usd">1065000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5d8faf2608944268a6c3ecf7e26a41d8_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTktNS0xLTEtNjY0_30ced42c-1f1b-479d-93c0-6621493fd804"
      unitRef="usd">811644000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i71f46b838a154a8eb5dc621c1fe03ee5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTktNy0xLTEtNjY0_4085b032-d273-4a7e-a796-c9a035fbdc36"
      unitRef="usd">-16000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i50f4b885957148e294fc3d55e7c8c20a_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTktOS0xLTEtNjY0_f65733b9-a7b1-4003-90d8-c13fa59aaf37"
      unitRef="usd">-627238000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMTktMTEtMS0xLTY2NA_37294ef4-2b61-440a-9f0e-65865ea4b269"
      unitRef="usd">185455000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i879538cd80c140b49a0fcb040a7c6eec_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMjEtMS0xLTEtODU_d4e212ec-7c9d-458f-bace-15d35b3c236d"
      unitRef="shares">100003000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i879538cd80c140b49a0fcb040a7c6eec_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMjEtMy0xLTEtODU_5e3fe039-c39a-48c1-803a-bb100e921ff4"
      unitRef="usd">1000000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5860dfb6c4c34b14b4ffd44f892d233e_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMjEtNS0xLTEtODU_db50de6c-ec1c-4d47-a910-49afe4b77571"
      unitRef="usd">687311000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie743373ec3d2437591e0a1c5aebf031d_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMjEtNy0xLTEtODU_0b7e9d9e-109c-4626-a5c3-a71f86b3b4ac"
      unitRef="usd">163000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i12659e102a144a17b6ce22b24fa6dfbb_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMjEtOS0xLTEtODU_35e47e77-8453-408e-a560-7f70cd9a88d4"
      unitRef="usd">-588098000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i75e6ffc169a4490fa5a6e15cef925e71_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMjEtMTEtMS0xLTY3MA_2a926558-50c6-4bfe-aa8c-6bb8b4eed970"
      unitRef="usd">100376000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i8f8d17ae853e423ab464c121a4f01632_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMjItMS0xLTEtODU_c2900662-c063-4a2a-83d7-90da28529290"
      unitRef="shares">959000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i8f8d17ae853e423ab464c121a4f01632_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMjItMy0xLTEtODU_36987c34-b32f-46f9-ace6-91578a319272"
      unitRef="usd">10000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i695f05aae1a34594950a58b573bc0301_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMjItNS0xLTEtODU_adb859f7-560f-4611-a0e2-c45eb5104786"
      unitRef="usd">6986000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMjItMTEtMS0xLTY4Mg_f2e6a778-60e2-490e-a785-d28e14e66850"
      unitRef="usd">6996000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <tenb:StockIssuedDuringPeriodSharesRestrictedStockUnit
      contextRef="i8f8d17ae853e423ab464c121a4f01632_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMjMtMS0xLTEtODU_7c4ac441-0872-4773-ba89-cbf4f6e55c3d"
      unitRef="shares">165000</tenb:StockIssuedDuringPeriodSharesRestrictedStockUnit>
    <tenb:StockIssuedDuringPeriodValueRestrictedStockUnit
      contextRef="i8f8d17ae853e423ab464c121a4f01632_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMjMtMy0xLTEtODU_3b1e5905-6526-4db8-b08f-1ed278208206"
      unitRef="usd">1000</tenb:StockIssuedDuringPeriodValueRestrictedStockUnit>
    <tenb:StockIssuedDuringPeriodValueRestrictedStockUnit
      contextRef="i695f05aae1a34594950a58b573bc0301_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMjMtNS0xLTEtODU_6633dad5-14dc-4989-9cf3-d6568e43a7b6"
      unitRef="usd">-1000</tenb:StockIssuedDuringPeriodValueRestrictedStockUnit>
    <tenb:StockIssuedDuringPeriodValueRestrictedStockUnit
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMjMtMTEtMS0xLTY4Mg_ece9bb8c-5aa1-4323-ba0f-e192c55067c6"
      unitRef="usd">0</tenb:StockIssuedDuringPeriodValueRestrictedStockUnit>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i695f05aae1a34594950a58b573bc0301_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMjUtNS0xLTEtODU_c74d73d7-5983-4ec6-bfd8-1c4c37ff1c13"
      unitRef="usd">15770000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMjUtMTEtMS0xLTY4Mg_9c70ae0c-648d-406e-99b6-616667cdd388"
      unitRef="usd">15770000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="if6f535b9d721493f8cfe5e160040c0ed_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMjYtNy0xLTEtODU_5f54c914-cb70-47c6-8856-ecbe47927780"
      unitRef="usd">-14000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMjYtMTEtMS0xLTY4NA_3de53ee2-92b2-4afb-88ee-7abc18f0eaaa"
      unitRef="usd">-14000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:NetIncomeLoss
      contextRef="i49b31edc86874fb5a30fd757e1d1cdf0_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMjctOS0xLTEtODU_a2848a0a-c6a7-4e91-bf28-52a9e8fa6210"
      unitRef="usd">-11960000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMjctMTEtMS0xLTY4Ng_a53e3142-d482-4156-a578-eaa0492e3815"
      unitRef="usd">-11960000</us-gaap:NetIncomeLoss>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i525010c02eb449389a4667261810b1e3_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMjgtMS0xLTEtNjY4_41cd27a4-60ff-44f7-9117-151aa8041c2c"
      unitRef="shares">101127000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i525010c02eb449389a4667261810b1e3_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMjgtMy0xLTEtNjY4_ac26b4d8-8311-42b1-a4b7-f65d20a1b3fa"
      unitRef="usd">1011000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i17df4e1c5442441d8451ff5188b27475_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMjgtNS0xLTEtNjY4_ec0ca8c2-f69d-4621-be73-35f6c24a5d7f"
      unitRef="usd">710066000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ida2f100675b8469eb639f93d4daa6381_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMjgtNy0xLTEtNjY4_16520574-ca68-46b7-b2d2-de3ac27566b0"
      unitRef="usd">149000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i798ddf31e3f948078d97bdf58c6b332b_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMjgtOS0xLTEtNjY4_fa84fbfc-1cae-41ad-b5f8-bef8dfe0ebab"
      unitRef="usd">-600058000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i1fd31efd14444629a30c8ef9a743e53c_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMjgtMTEtMS0xLTY2OA_073a398a-174f-413f-951e-a1e37a6d2571"
      unitRef="usd">111168000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i29dc73fccd2c40a7ae721a67ee2df03e_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMzAtMS0xLTEtODU_6fe0a51b-d8f8-4951-bb1a-37a252b11fb3"
      unitRef="shares">98587000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i29dc73fccd2c40a7ae721a67ee2df03e_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMzAtMy0xLTEtODU_1181c1bc-5ee7-4616-8005-ac66df3f6192"
      unitRef="usd">986000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i32995e2c74454c13919373a100dcd323_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMzAtNS0xLTEtODU_9717d819-453c-43ba-8683-a10bab81f9f3"
      unitRef="usd">662990000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ia2e6bd1adb5b4cfc94c732ea6f7d9802_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMzAtNy0xLTEtODU_80881f1f-9815-435d-bd51-4b9551153468"
      unitRef="usd">50000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i7fc21dcfe19a4148a79ca1dcb0cf8d34_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMzAtOS0xLTEtODU_a68c32c6-d4e6-4e5b-ae4d-eb3a828088cb"
      unitRef="usd">-565121000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ie8912800a5734e098a2afc59fc8f1458_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMzAtMTEtMS0xLTY3Mg_27a472d2-0b62-49d0-9db0-75ffab476eef"
      unitRef="usd">98905000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="iec92d62ec2c34ff098d01ea9dee80f4a_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMzEtMS0xLTEtODU_0c11d9f9-b29c-40fb-b868-e2e9bd00360f"
      unitRef="shares">1594000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="iec92d62ec2c34ff098d01ea9dee80f4a_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMzEtMy0xLTEtODU_5a3b48cb-fe12-4c34-9ba4-9d8613efaa0c"
      unitRef="usd">16000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="i9a050724d4494412b5136886a22145b6_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMzEtNS0xLTEtODU_31c5a64f-f9a0-446a-8403-c3095cdac35c"
      unitRef="usd">10958000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMzEtMTEtMS0xLTY3Ng_8c7ce8f4-c3fc-4ba7-a1d6-2a38d0d90112"
      unitRef="usd">10974000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <tenb:StockIssuedDuringPeriodSharesRestrictedStockUnit
      contextRef="iec92d62ec2c34ff098d01ea9dee80f4a_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMzItMS0xLTEtODU_b3e73dfc-1b04-4675-b9d5-8996a4f45e1e"
      unitRef="shares">568000</tenb:StockIssuedDuringPeriodSharesRestrictedStockUnit>
    <tenb:StockIssuedDuringPeriodValueRestrictedStockUnit
      contextRef="iec92d62ec2c34ff098d01ea9dee80f4a_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMzItMy0xLTEtODU_5d4b4598-85c6-4ea6-83ee-cd28d14cae3c"
      unitRef="usd">5000</tenb:StockIssuedDuringPeriodValueRestrictedStockUnit>
    <tenb:StockIssuedDuringPeriodValueRestrictedStockUnit
      contextRef="i9a050724d4494412b5136886a22145b6_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMzItNS0xLTEtODU_b71d6bf4-bf10-41bf-a08f-66714e6ce462"
      unitRef="usd">-5000</tenb:StockIssuedDuringPeriodValueRestrictedStockUnit>
    <tenb:StockIssuedDuringPeriodValueRestrictedStockUnit
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMzItMTEtMS0xLTY3Ng_1dba20f1-396d-4dc9-9e9d-ccd6e1f3d8f3"
      unitRef="usd">0</tenb:StockIssuedDuringPeriodValueRestrictedStockUnit>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="iec92d62ec2c34ff098d01ea9dee80f4a_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMzMtMS0xLTEtODU_ed8a984d-c28c-463f-b3e9-6af49cb6a907"
      unitRef="shares">378000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="iec92d62ec2c34ff098d01ea9dee80f4a_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMzMtMy0xLTEtODU_1df154b2-4cd9-434a-9875-9aea7d917a9b"
      unitRef="usd">4000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i9a050724d4494412b5136886a22145b6_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMzMtNS0xLTEtODU_e29ea358-0920-4c09-8f62-551f76505e94"
      unitRef="usd">7303000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMzMtMTEtMS0xLTY3Ng_a6299373-af35-449b-9ecd-87de0ef9fa72"
      unitRef="usd">7307000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i9a050724d4494412b5136886a22145b6_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMzQtNS0xLTEtODU_2e0f55db-ecf9-4804-a27a-67ac5620b69e"
      unitRef="usd">28820000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMzQtMTEtMS0xLTY3Ng_d2f4b640-19dd-460b-a506-2fead2de5470"
      unitRef="usd">28820000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="i06586778bc9e4c1c900a8952f0f22ca3_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMzUtNy0xLTEtODU_02ac7fcc-76b2-48d8-a073-7b82888c1069"
      unitRef="usd">99000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMzUtMTEtMS0xLTY3OA_511ef3a1-a1cf-43ea-8fdc-c7604592e8a5"
      unitRef="usd">99000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:NetIncomeLoss
      contextRef="i2efd19da63c54a61aef03316a887cbb3_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMzYtOS0xLTEtODU_54874189-7928-4ec7-903c-3393f00ae8c7"
      unitRef="usd">-34937000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMzYtMTEtMS0xLTY4MA_75f6489c-98be-4468-ac8c-9b1d40da8d25"
      unitRef="usd">-34937000</us-gaap:NetIncomeLoss>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i525010c02eb449389a4667261810b1e3_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMzctMS0xLTEtNjc0_85cc76e5-092f-4f0d-b190-b87f5a6129ee"
      unitRef="shares">101127000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity
      contextRef="i525010c02eb449389a4667261810b1e3_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMzctMy0xLTEtNjc0_e742a464-883f-4ca5-86a7-959a46ba2aeb"
      unitRef="usd">1011000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i17df4e1c5442441d8451ff5188b27475_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMzctNS0xLTEtNjc0_def87bf6-a3f7-4d1f-be0b-dd40ec2eb231"
      unitRef="usd">710066000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ida2f100675b8469eb639f93d4daa6381_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMzctNy0xLTEtNjc0_0f83123b-d2cb-4c18-ad8b-213f4ca7ab38"
      unitRef="usd">149000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i798ddf31e3f948078d97bdf58c6b332b_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMzctOS0xLTEtNjc0_c6ed8b63-bc2a-4283-8e8f-e6dac9e3914c"
      unitRef="usd">-600058000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i1fd31efd14444629a30c8ef9a743e53c_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8yOC9mcmFnOmYxY2EwZWE1Nzg4YzQ0MzI5ZmUzYWYxY2ViODQyYWI1L3RhYmxlOmU0MTgzZWI5NGEyMDRmMjY4ZmE1YmVmMzZhMGJiN2I4L3RhYmxlcmFuZ2U6ZTQxODNlYjk0YTIwNGYyNjhmYTViZWYzNmEwYmI3YjhfMzctMTEtMS0xLTY3NA_c653dffd-053d-443b-abd9-dc290d6f0175"
      unitRef="usd">111168000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMy0xLTEtMS0w_3ff8d17c-1dcd-4e38-b9c5-478d09f3ffb9"
      unitRef="usd">-19386000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMy0zLTEtMS0w_53d82f3c-a31a-4f0d-8210-9c17e95379cf"
      unitRef="usd">-34937000</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfNS0xLTEtMS0w_fdd304de-3ed7-42f5-93b9-d8b8e005bd4b"
      unitRef="usd">6807000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfNS0zLTEtMS0w_8204e1de-bb45-413e-b516-fbf1307a6bfe"
      unitRef="usd">5268000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:ShareBasedCompensation
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfNi0xLTEtMS0w_ce52c5d6-252b-49e2-94da-ebb5ea9ea5ac"
      unitRef="usd">37421000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfNi0zLTEtMS0w_d916d3c0-2aef-40e4-9e95-0bca7183128d"
      unitRef="usd">28701000</us-gaap:ShareBasedCompensation>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfNy0xLTEtMS0w_253b3d6f-25f9-4573-8689-a5aee87e11cd"
      unitRef="usd">268000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:OtherNoncashIncomeExpense
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfNy0zLTEtMS0w_a0a974ba-f263-4d89-91e6-db35fba710ae"
      unitRef="usd">-606000</us-gaap:OtherNoncashIncomeExpense>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfOS0xLTEtMS0w_94e65f25-7c5b-4ce8-8f60-ea87d0aa128e"
      unitRef="usd">-18985000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfOS0zLTEtMS0w_356fd2ee-5993-40c1-88cf-d589ee60ab40"
      unitRef="usd">-13512000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMTAtMS0xLTEtMA_ba722786-bf4e-49a2-8a0d-201754039a74"
      unitRef="usd">-5077000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMTAtMy0xLTEtMA_156584f9-4ae4-42d0-91ee-90ac98f09211"
      unitRef="usd">-7173000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMTEtMS0xLTEtMA_1379ab3b-74f2-40ff-9d71-360b8032656b"
      unitRef="usd">985000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMTEtMy0xLTEtMA_7b4b7d8b-4f11-4aa8-a04c-2edd5b2cdf3d"
      unitRef="usd">-8297000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMTItMS0xLTEtMA_a32f0a39-1b39-4c2d-bfc0-46dd35bd4fd8"
      unitRef="usd">6665000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMTItMy0xLTEtMA_a64859da-a8e3-40e0-b6f7-25a15adc2c5c"
      unitRef="usd">2182000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMTMtMS0xLTEtMA_b866bde4-d2d8-4867-b56d-63bd421592b7"
      unitRef="usd">-1126000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMTMtMy0xLTEtMA_5e162c15-447a-4afe-b801-cf4fc359adbd"
      unitRef="usd">7283000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMTQtMS0xLTEtMA_17572b5f-f176-4a33-99f3-6b1de31e1358"
      unitRef="usd">55160000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMTQtMy0xLTEtMA_95922889-0ebf-4118-9c0b-2d4e5950ad07"
      unitRef="usd">21491000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMTctMS0xLTEtMA_d08e69d1-1646-47cf-bef0-5ec89047491d"
      unitRef="usd">2595000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMTctMy0xLTEtMA_939491e9-8cce-4074-988f-eac9c6852e3a"
      unitRef="usd">11004000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMTgtMS0xLTEtMA_074cc151-355d-4dc1-8da2-ca27cac044ee"
      unitRef="usd">87624000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:PaymentsToAcquireInvestments
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMTgtMy0xLTEtMA_2df5e578-9e29-4e24-ba71-2d1c1c06d7ab"
      unitRef="usd">91908000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMTktMS0xLTEtMA_d2c35262-4a99-43d9-9744-fd6042eccfc5"
      unitRef="usd">76000000</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
    <us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMTktMy0xLTEtMA_6fbf2bf3-4004-42f1-9b59-fd0af8fc1bd0"
      unitRef="usd">124675000</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMjAtMS0xLTEtMTU3Mw_c1ab6a2d-d771-48cb-9e3a-52181c4169b3"
      unitRef="usd">98489000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMjAtMy0xLTEtMTU3Mw_dd069b69-f683-461f-b0b3-ebbceec605a8"
      unitRef="usd">0</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMjAtMS0xLTEtMA_93596c8e-1af3-4059-9084-39f2e8ccdd18"
      unitRef="usd">-112708000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMjAtMy0xLTEtMA_3d70cfca-1823-427d-9d1a-9bea6aade325"
      unitRef="usd">21763000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMjQtMS0xLTEtMTU2MA_5546bf22-d870-4992-8117-c94905d57175"
      unitRef="usd">0</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMjQtMy0xLTEtMTU2MA_a91a9371-0353-4d71-b055-c5277be161ae"
      unitRef="usd">2000000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMjQtMS0xLTEtMA_4459ec9b-a27f-4011-9c14-8059aad17796"
      unitRef="usd">8046000</us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans>
    <us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMjQtMy0xLTEtMA_f806e23e-ded6-47e7-8014-c49c621539bd"
      unitRef="usd">7307000</us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMjUtMS0xLTEtMA_d3bd87bf-b2f4-4ed2-9741-7889e08fe78d"
      unitRef="usd">8704000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMjUtMy0xLTEtMA_670ed895-1892-4c55-b844-f740e9c38ff6"
      unitRef="usd">10974000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromPaymentsForOtherFinancingActivities
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMjYtMS0xLTEtMA_71235de7-887c-4158-a016-32701405263e"
      unitRef="usd">-5000</us-gaap:ProceedsFromPaymentsForOtherFinancingActivities>
    <us-gaap:ProceedsFromPaymentsForOtherFinancingActivities
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMjYtMy0xLTEtMA_64a2dd8a-e5e3-47a8-85ed-8005d30f452b"
      unitRef="usd">-8000</us-gaap:ProceedsFromPaymentsForOtherFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMjctMS0xLTEtMA_7e46bcf0-ed22-453d-b1b3-ed3aea4fecf5"
      unitRef="usd">16745000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMjctMy0xLTEtMA_d4452303-54be-4ccd-88ea-a5440a84ca80"
      unitRef="usd">20273000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMjgtMS0xLTEtMA_e0db5598-7531-40c0-bf4b-b16e8067fb59"
      unitRef="usd">-1463000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMjgtMy0xLTEtMA_5967dcb6-4c87-472e-ac5e-084e313f5c2f"
      unitRef="usd">-1463000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMjktMS0xLTEtMA_0f6d12b5-dd9d-4d93-92da-cada19c27a4d"
      unitRef="usd">-42266000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMjktMy0xLTEtMA_d8f3a624-83cf-4390-86b5-86e4ace781cf"
      unitRef="usd">62064000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMzAtMS0xLTEtMA_1084e338-c082-4f2f-929c-8618b26cd4b6"
      unitRef="usd">178463000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ie8912800a5734e098a2afc59fc8f1458_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMzAtMy0xLTEtMA_79bdff50-af4b-4e39-828a-4f4272782404"
      unitRef="usd">74665000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMzEtMS0xLTEtMA_fd12452e-897d-4ce9-ab31-fec50ec1f86c"
      unitRef="usd">136197000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i1fd31efd14444629a30c8ef9a743e53c_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMzEtMy0xLTEtMA_28fcd70c-6488-4b89-a7c0-a4174cccb078"
      unitRef="usd">136729000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMzQtMS0xLTEtMA_8e23e962-8772-44b8-8efe-96e5b5658d81"
      unitRef="usd">150000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMzQtMy0xLTEtMA_fcb49b37-3164-4e54-82a1-b82b093791f9"
      unitRef="usd">16000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMzUtMS0xLTEtMA_44428c08-e340-4167-9fb0-8b845f573e6e"
      unitRef="usd">3553000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:IncomeTaxesPaidNet
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMzUtMy0xLTEtMA_d49ce2e2-dd35-462f-9d5c-b0d043926d78"
      unitRef="usd">2728000</us-gaap:IncomeTaxesPaidNet>
    <us-gaap:OperatingLeasePayments
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMzctMS0xLTEtMA_22509767-17f9-4d7c-9777-15dc18e1bc38"
      unitRef="usd">2555000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8zNC9mcmFnOjg5MWUzNzU0YmE5YzRjMzZiMTI2MjIyNGViYWQ1Nzk1L3RhYmxlOjU1YjhiYWJiMjUxMjRjMzQ4YzcwMmU0M2U4NDNiMjZkL3RhYmxlcmFuZ2U6NTViOGJhYmIyNTEyNGMzNDhjNzAyZTQzZTg0M2IyNmRfMzctMy0xLTEtMA_422b7256-dba7-40a0-a0ab-9c300eae929a"
      unitRef="usd">2595000</us-gaap:OperatingLeasePayments>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80MC9mcmFnOjI2OTYwYTI1ZmE2ODQzMjlhMWRjMmEzYjMwMzMzNWRjL3RleHRyZWdpb246MjY5NjBhMjVmYTY4NDMyOWExZGMyYTNiMzAzMzM1ZGNfMzUyMA_8428b1f1-fbcf-48e6-afd8-b44b5824a8c8">Business and Summary of Significant Accounting Policies &lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Business Description&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Tenable Holdings, Inc. (the &#x201c;Company,&#x201d; &#x201c;we,&#x201d; "us," or &#x201c;our&#x201d;) is a provider of Cyber Exposure solutions, which is a discipline for managing, measuring and comparing cybersecurity risk in the digital era. Our platform offerings provide broad visibility into security issues such as vulnerabilities, misconfigurations, internal and regulatory compliance violations and other indicators of the state of an organization&#x2019;s security across IT infrastructure and applications, cloud environments and industrial internet of things and operational technology environments.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Basis of Presentation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accompanying consolidated financial statements include the accounts of Tenable Holdings, Inc. and our wholly owned subsidiaries. All intercompany accounts and transactions have been eliminated in consolidation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The consolidated financial statements have been prepared in conformity with United States generally accepted accounting principles (&#x201c;GAAP&#x201d;) for interim financial information. The consolidated statements are unaudited and should be read in conjunction with the consolidated financial statements and related notes included in our 2020 Annual Report on Form 10-K ("10-K") filed with the Securities and Exchange Commission on February 23, 2021. The consolidated financial statements have been prepared on a basis consistent with the audited annual consolidated financial statements included in the 10-K and, in the opinion of management, include all adjustments of a normal recurring nature necessary to fairly state our financial position, our results of operations, and cash flows. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The results for the six months ended June 30, 2021 are not necessarily indicative of the operating results expected for the year ending December&#160;31, 2021 or any other future period.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preparation of consolidated financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and accompanying notes. These estimates include, but are not limited to, the determination of the estimated economic life of perpetual licenses for revenue recognition, the estimated period of benefit for deferred commissions, the useful lives of long-lived assets, the fair value of acquired intangible assets and deferred revenue, the valuation of stock-based compensation, including the estimated underlying fair value of our common stock prior to our IPO, the incremental borrowing rate for operating leases, and the valuation of deferred tax assets. We base these estimates on historical experience and on various other assumptions that we believe to be reasonable. Actual results could differ significantly from these estimates.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Significant Accounting Policies&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our significant accounting policies are described in our 10-K. During the six months ended June 30, 2021, there were no material changes to our significant accounting policies other than those described below. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Subscription Revenue&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Subscription arrangements generally have annual or multi-year contractual terms and allow customers to use our software or cloud solutions. For our software subscriptions that are dependent on ongoing software updates and the ability to identify the latest cybersecurity vulnerabilities, revenue is recognized ratably over the subscription term given the critical utility provided by the ongoing updates that are released through the contract period. For our software where the critical utility does not depend on ongoing updates, we separate the software license from the maintenance and support. We &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;recognize revenue attributable to the license at the time of delivery and the revenue attributable to the maintenance and support ratably over the contract period.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Investments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We classify investments with original maturities of less than 90 days as cash and cash equivalents. Investments with original maturities greater than 90 days, including those we do not currently intend on selling within the next twelve months, are classified as short-term investments as they are available for use in our operations. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recently Adopted Accounting Pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We adopted Accounting Standards Update ("ASU") No. 2019-12 -&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Income Taxes (Topic 740)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;:&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt; Simplifying the Accounting for Income Taxes, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;effective January 1, 2021. The adoption of this guidance did not have a material impact on our condensed consolidated financial statements. This ASU eliminated previously allowed exceptions and clarified existing guidance in the accounting for income taxes, including in the areas of franchise taxes, the tax basis of goodwill and interim period effects of changes in tax laws.&lt;/span&gt;&lt;/div&gt;</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock>
    <us-gaap:ConsolidationPolicyTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80MC9mcmFnOjI2OTYwYTI1ZmE2ODQzMjlhMWRjMmEzYjMwMzMzNWRjL3RleHRyZWdpb246MjY5NjBhMjVmYTY4NDMyOWExZGMyYTNiMzAzMzM1ZGNfMzUyMw_a7810319-00b2-41d7-bc8c-6696afc0c2d0">The accompanying consolidated financial statements include the accounts of Tenable Holdings, Inc. and our wholly owned subsidiaries. All intercompany accounts and transactions have been eliminated in consolidation.</us-gaap:ConsolidationPolicyTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80MC9mcmFnOjI2OTYwYTI1ZmE2ODQzMjlhMWRjMmEzYjMwMzMzNWRjL3RleHRyZWdpb246MjY5NjBhMjVmYTY4NDMyOWExZGMyYTNiMzAzMzM1ZGNfMzUxNQ_ecb6ba26-a975-441f-8417-cb41bdec442b">The consolidated financial statements have been prepared in conformity with United States generally accepted accounting principles (&#x201c;GAAP&#x201d;) for interim financial information. The consolidated statements are unaudited and should be read in conjunction with the consolidated financial statements and related notes included in our 2020 Annual Report on Form 10-K ("10-K") filed with the Securities and Exchange Commission on February 23, 2021. The consolidated financial statements have been prepared on a basis consistent with the audited annual consolidated financial statements included in the 10-K and, in the opinion of management, include all adjustments of a normal recurring nature necessary to fairly state our financial position, our results of operations, and cash flows.</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:UseOfEstimates
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80MC9mcmFnOjI2OTYwYTI1ZmE2ODQzMjlhMWRjMmEzYjMwMzMzNWRjL3RleHRyZWdpb246MjY5NjBhMjVmYTY4NDMyOWExZGMyYTNiMzAzMzM1ZGNfMzUxMA_b0fe2d99-b5db-4ea8-9a80-7a9fb22f1466">&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preparation of consolidated financial statements in conformity with GAAP requires management to make estimates and assumptions that affect the amounts reported in the consolidated financial statements and accompanying notes. These estimates include, but are not limited to, the determination of the estimated economic life of perpetual licenses for revenue recognition, the estimated period of benefit for deferred commissions, the useful lives of long-lived assets, the fair value of acquired intangible assets and deferred revenue, the valuation of stock-based compensation, including the estimated underlying fair value of our common stock prior to our IPO, the incremental borrowing rate for operating leases, and the valuation of deferred tax assets. We base these estimates on historical experience and on various other assumptions that we believe to be reasonable. Actual results could differ significantly from these estimates.&lt;/span&gt;&lt;/div&gt;</us-gaap:UseOfEstimates>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80MC9mcmFnOjI2OTYwYTI1ZmE2ODQzMjlhMWRjMmEzYjMwMzMzNWRjL3RleHRyZWdpb246MjY5NjBhMjVmYTY4NDMyOWExZGMyYTNiMzAzMzM1ZGNfMjc0ODc3OTA4MjYzNw_cfde1fcd-f51b-4a72-a8b1-67b90663b798">&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Subscription Revenue&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Subscription arrangements generally have annual or multi-year contractual terms and allow customers to use our software or cloud solutions. For our software subscriptions that are dependent on ongoing software updates and the ability to identify the latest cybersecurity vulnerabilities, revenue is recognized ratably over the subscription term given the critical utility provided by the ongoing updates that are released through the contract period. For our software where the critical utility does not depend on ongoing updates, we separate the software license from the maintenance and support. We &lt;/span&gt;&lt;/div&gt;recognize revenue attributable to the license at the time of delivery and the revenue attributable to the maintenance and support ratably over the contract period.</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <us-gaap:InvestmentPolicyTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80MC9mcmFnOjI2OTYwYTI1ZmE2ODQzMjlhMWRjMmEzYjMwMzMzNWRjL3RleHRyZWdpb246MjY5NjBhMjVmYTY4NDMyOWExZGMyYTNiMzAzMzM1ZGNfMjc0ODc3OTA4MjYzNQ_c3d24f18-2268-4b17-9c69-a534d76a0ca3">InvestmentsWe classify investments with original maturities of less than 90 days as cash and cash equivalents. Investments with original maturities greater than 90 days, including those we do not currently intend on selling within the next twelve months, are classified as short-term investments as they are available for use in our operations.</us-gaap:InvestmentPolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80MC9mcmFnOjI2OTYwYTI1ZmE2ODQzMjlhMWRjMmEzYjMwMzMzNWRjL3RleHRyZWdpb246MjY5NjBhMjVmYTY4NDMyOWExZGMyYTNiMzAzMzM1ZGNfMzUxOQ_94522c74-e0ff-4de0-b0e2-bee4b515f529">&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recently Adopted Accounting Pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We adopted Accounting Standards Update ("ASU") No. 2019-12 -&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Income Taxes (Topic 740)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;:&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt; Simplifying the Accounting for Income Taxes, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;effective January 1, 2021. The adoption of this guidance did not have a material impact on our condensed consolidated financial statements. This ASU eliminated previously allowed exceptions and clarified existing guidance in the accounting for income taxes, including in the areas of franchise taxes, the tax basis of goodwill and interim period effects of changes in tax laws.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RleHRyZWdpb246Yzg3N2I0NTg5M2YwNDBjNmIzZmQ0MGI2NzFlODg2NDdfMTYwOQ_3b09b711-ef4d-480a-8753-53b423680921">Revenue&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',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="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents a summary of revenue:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;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.483%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.986%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Subscription revenue&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;114,167&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;92,010&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;221,569&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;178,400&#160;&lt;/span&gt;&lt;/td&gt;&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Perpetual license and maintenance revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,179&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,598&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Professional services and other revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,525&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,020&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,907&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,859&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenue&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;130,259&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107,209&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;253,448&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;209,857&#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-bottom:12pt;text-align:justify;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Concentrations &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We sell and market our products and services through our field sales force that works closely with our channel partners, which includes a network of distributors and resellers, in developing sales opportunities. We use a&#160;two-tiered&#160;channel model whereby we sell our products and services to our distributors, which in turn sell to resellers, which then sell to end-users. We derived 92% of revenue through our channel network in the three and six months ended June 30, 2021 and 91% of revenue in the three and six months ended June 30, 2020. One of our distributors accounted for 40% of revenue in the three and six months ended June 30, 2021 and 43% of revenue in the three and six months ended June 30, 2020. That same distributor accounted for 37% and 41% of accounts receivable at June 30, 2021 and December&#160;31, 2020, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Contract Balances&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We generally bill our customers in advance and accounts receivable are recorded when we have the right to invoice the customer. Contract liabilities consist of deferred revenue and include customer billings and payments received in advance of performance under the contract. In the three months ended June 30, 2021 and 2020 and the six months ended June 30, 2021 and 2020, we recognized revenue of $119.0 million, $99.5 million, $210.5 million and $175.0 million, respectively, that was included in the deferred revenue balance at the beginning of each of the respective periods.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Remaining Performance Obligations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At June 30, 2021, the future estimated revenue related to unsatisfied performance obligations was $461.6 million, of which approximately 75% is expected to be recognized as revenue over the succeeding twelve months, and the remainder is expected to be recognized over the four years thereafter.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Deferred Commissions&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following summarizes the activity of deferred incremental costs of obtaining a contract:&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RleHRyZWdpb246Yzg3N2I0NTg5M2YwNDBjNmIzZmQ0MGI2NzFlODg2NDdfMTYwNg_b9431219-b1c8-4b90-b978-ae389fe0ce2e">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table presents a summary of revenue:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;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.483%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.986%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Subscription revenue&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;114,167&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;92,010&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;221,569&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;178,400&#160;&lt;/span&gt;&lt;/td&gt;&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Perpetual license and maintenance revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,179&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,598&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Professional services and other revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,525&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,020&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,907&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,859&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenue&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;130,259&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107,209&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;253,448&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;209,857&#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:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if3f63b434fb44770a278398315df46fd_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmY2ZDIxYzZjYjQwZjQzNTBiYWI2NzVjZmUzODY4NzQ0L3RhYmxlcmFuZ2U6ZjZkMjFjNmNiNDBmNDM1MGJhYjY3NWNmZTM4Njg3NDRfMi0xLTEtMS0xMTI_f1be464d-463d-4cdc-b8ce-525a834ba227"
      unitRef="usd">114167000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i35d6899ba8974018b17328995f485093_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmY2ZDIxYzZjYjQwZjQzNTBiYWI2NzVjZmUzODY4NzQ0L3RhYmxlcmFuZ2U6ZjZkMjFjNmNiNDBmNDM1MGJhYjY3NWNmZTM4Njg3NDRfMi0zLTEtMS0xMTI_757f6f48-d8cb-4e3c-8515-7be71b95ac89"
      unitRef="usd">92010000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia391ffc0d730417d970e7ffe83b2b3e9_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmY2ZDIxYzZjYjQwZjQzNTBiYWI2NzVjZmUzODY4NzQ0L3RhYmxlcmFuZ2U6ZjZkMjFjNmNiNDBmNDM1MGJhYjY3NWNmZTM4Njg3NDRfMi01LTEtMS0xMTI_b51406fd-7ff6-4397-a3c0-3de8e4badfa4"
      unitRef="usd">221569000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i44731f09d6404b93ad16af9e90f5ea6a_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmY2ZDIxYzZjYjQwZjQzNTBiYWI2NzVjZmUzODY4NzQ0L3RhYmxlcmFuZ2U6ZjZkMjFjNmNiNDBmNDM1MGJhYjY3NWNmZTM4Njg3NDRfMi03LTEtMS0xMTI_a005204d-2134-4f59-8a03-a1862e33ccfc"
      unitRef="usd">178400000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i425a4ef712994bb89c119109fc52e5ee_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmY2ZDIxYzZjYjQwZjQzNTBiYWI2NzVjZmUzODY4NzQ0L3RhYmxlcmFuZ2U6ZjZkMjFjNmNiNDBmNDM1MGJhYjY3NWNmZTM4Njg3NDRfMy0xLTEtMS0xMTI_d30b19b0-bdf7-4f0d-a6b1-4d87536dcd5c"
      unitRef="usd">12567000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="idf4f296c79ba45c7b68af2c435819257_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmY2ZDIxYzZjYjQwZjQzNTBiYWI2NzVjZmUzODY4NzQ0L3RhYmxlcmFuZ2U6ZjZkMjFjNmNiNDBmNDM1MGJhYjY3NWNmZTM4Njg3NDRfMy0zLTEtMS0xMTI_2ae6acf9-560b-44bc-8398-964caeff3498"
      unitRef="usd">12179000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i350c2452bf9c42d0ae65a0ae2c72be88_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmY2ZDIxYzZjYjQwZjQzNTBiYWI2NzVjZmUzODY4NzQ0L3RhYmxlcmFuZ2U6ZjZkMjFjNmNiNDBmNDM1MGJhYjY3NWNmZTM4Njg3NDRfMy01LTEtMS0xMTI_4db78a9f-02a0-42d3-a7af-91407b460778"
      unitRef="usd">24972000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i55bd6bd1226243ffb33297f252a4d0b0_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmY2ZDIxYzZjYjQwZjQzNTBiYWI2NzVjZmUzODY4NzQ0L3RhYmxlcmFuZ2U6ZjZkMjFjNmNiNDBmNDM1MGJhYjY3NWNmZTM4Njg3NDRfMy03LTEtMS0xMTI_20bb8163-b17b-46a8-8897-674a52574417"
      unitRef="usd">25598000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib153076add25466891788f55b5009147_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmY2ZDIxYzZjYjQwZjQzNTBiYWI2NzVjZmUzODY4NzQ0L3RhYmxlcmFuZ2U6ZjZkMjFjNmNiNDBmNDM1MGJhYjY3NWNmZTM4Njg3NDRfNC0xLTEtMS0xMTI_b25ec469-fd85-48c3-890b-5b306bc8e061"
      unitRef="usd">3525000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie63ebcf0a2ec426c865145a8067d0a81_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmY2ZDIxYzZjYjQwZjQzNTBiYWI2NzVjZmUzODY4NzQ0L3RhYmxlcmFuZ2U6ZjZkMjFjNmNiNDBmNDM1MGJhYjY3NWNmZTM4Njg3NDRfNC0zLTEtMS0xMTI_2d8b4bd8-9c2b-4206-935c-68ece19e3019"
      unitRef="usd">3020000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia0efeb2805d341aa92285352580eaac2_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmY2ZDIxYzZjYjQwZjQzNTBiYWI2NzVjZmUzODY4NzQ0L3RhYmxlcmFuZ2U6ZjZkMjFjNmNiNDBmNDM1MGJhYjY3NWNmZTM4Njg3NDRfNC01LTEtMS0xMTI_1ccad293-91e5-4b4c-a0cd-b889e0223142"
      unitRef="usd">6907000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia8a6a8d550bd4fd3959b4540c8e4b146_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmY2ZDIxYzZjYjQwZjQzNTBiYWI2NzVjZmUzODY4NzQ0L3RhYmxlcmFuZ2U6ZjZkMjFjNmNiNDBmNDM1MGJhYjY3NWNmZTM4Njg3NDRfNC03LTEtMS0xMTI_e99e7cea-1f2a-4102-8f55-edc0323723bd"
      unitRef="usd">5859000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmY2ZDIxYzZjYjQwZjQzNTBiYWI2NzVjZmUzODY4NzQ0L3RhYmxlcmFuZ2U6ZjZkMjFjNmNiNDBmNDM1MGJhYjY3NWNmZTM4Njg3NDRfNS0xLTEtMS03MDY_a9d1c187-f377-42ee-9816-48b78a6de2ac"
      unitRef="usd">130259000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmY2ZDIxYzZjYjQwZjQzNTBiYWI2NzVjZmUzODY4NzQ0L3RhYmxlcmFuZ2U6ZjZkMjFjNmNiNDBmNDM1MGJhYjY3NWNmZTM4Njg3NDRfNS0zLTEtMS03MDY_1029e315-9daa-4dcd-90d0-46d827014840"
      unitRef="usd">107209000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmY2ZDIxYzZjYjQwZjQzNTBiYWI2NzVjZmUzODY4NzQ0L3RhYmxlcmFuZ2U6ZjZkMjFjNmNiNDBmNDM1MGJhYjY3NWNmZTM4Njg3NDRfNS01LTEtMS03MDY_8668ed00-7010-459d-901e-4f1da658838f"
      unitRef="usd">253448000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmY2ZDIxYzZjYjQwZjQzNTBiYWI2NzVjZmUzODY4NzQ0L3RhYmxlcmFuZ2U6ZjZkMjFjNmNiNDBmNDM1MGJhYjY3NWNmZTM4Njg3NDRfNS03LTEtMS03MDY_e5d5a64b-8506-49f2-b757-f5f3e6385f4c"
      unitRef="usd">209857000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i38ec4f3662b44ac4bae2570d4708b140_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RleHRyZWdpb246Yzg3N2I0NTg5M2YwNDBjNmIzZmQ0MGI2NzFlODg2NDdfMzg0ODI5MDY5ODk4Ng_83305c11-4618-408c-9f24-b10f1718b010"
      unitRef="number">0.92</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ia810d00fea13429db017cec0e409b8db_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RleHRyZWdpb246Yzg3N2I0NTg5M2YwNDBjNmIzZmQ0MGI2NzFlODg2NDdfMzg0ODI5MDY5ODk4Ng_838fabae-f192-445e-abc0-05b2e6054f6d"
      unitRef="number">0.92</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ie219d6aa8f3a457cb80164d448d5f5f6_D20200101-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RleHRyZWdpb246Yzg3N2I0NTg5M2YwNDBjNmIzZmQ0MGI2NzFlODg2NDdfMzg0ODI5MDY5ODk5NA_5efa7bb0-263c-41d9-a158-4f506f1f7293"
      unitRef="number">0.91</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i66e0455c27a649a6be54244f19103d4a_D20200401-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RleHRyZWdpb246Yzg3N2I0NTg5M2YwNDBjNmIzZmQ0MGI2NzFlODg2NDdfMzg0ODI5MDY5ODk5NA_eb370ede-63b0-4508-a3ab-b146098f36b0"
      unitRef="number">0.91</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i3b496a87bb16403295392e6d7537ec1a_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RleHRyZWdpb246Yzg3N2I0NTg5M2YwNDBjNmIzZmQ0MGI2NzFlODg2NDdfNjEz_3985f1ee-e325-434d-9a58-3d51c0c57e83"
      unitRef="number">0.40</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i91d87ecfd0c14f28a393efa205039039_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RleHRyZWdpb246Yzg3N2I0NTg5M2YwNDBjNmIzZmQ0MGI2NzFlODg2NDdfNjEz_ef06782e-1446-4791-8d59-5927cb4dce84"
      unitRef="number">0.40</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i3aa90a155703444c93ded17a5ccdcdbb_D20200101-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RleHRyZWdpb246Yzg3N2I0NTg5M2YwNDBjNmIzZmQ0MGI2NzFlODg2NDdfNjIw_51e4ed63-beb4-42bb-aa8a-cd1c00af935c"
      unitRef="number">0.43</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i72622e45fa7443fb91316772b27c3f2e_D20200401-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RleHRyZWdpb246Yzg3N2I0NTg5M2YwNDBjNmIzZmQ0MGI2NzFlODg2NDdfNjIw_9fde4540-bd7e-4baa-8fac-85b53164e453"
      unitRef="number">0.43</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i6943a0ec2dfe469cb72baa3720321d98_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RleHRyZWdpb246Yzg3N2I0NTg5M2YwNDBjNmIzZmQ0MGI2NzFlODg2NDdfNzAy_16f6865b-8cab-4d3c-934f-8f4088d47e84"
      unitRef="number">0.37</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="i011d9652756c461bb141e972faa843fe_D20200101-20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RleHRyZWdpb246Yzg3N2I0NTg5M2YwNDBjNmIzZmQ0MGI2NzFlODg2NDdfMTA5OTUxMTYzMDQyNg_387d766e-1d6e-431f-bc22-6c2191a572c4"
      unitRef="number">0.41</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RleHRyZWdpb246Yzg3N2I0NTg5M2YwNDBjNmIzZmQ0MGI2NzFlODg2NDdfMTA5OTUxMTYyOTQ0OQ_794a5664-3bca-4dec-9ff3-9a643444b87a"
      unitRef="usd">119000000.0</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RleHRyZWdpb246Yzg3N2I0NTg5M2YwNDBjNmIzZmQ0MGI2NzFlODg2NDdfMTA5OTUxMTYyOTQ1NA_24959dc3-e124-450d-bc79-fa4145a07625"
      unitRef="usd">99500000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RleHRyZWdpb246Yzg3N2I0NTg5M2YwNDBjNmIzZmQ0MGI2NzFlODg2NDdfMTA3OA_50a55e39-a9f6-43ae-8bf6-c484e6144399"
      unitRef="usd">210500000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RleHRyZWdpb246Yzg3N2I0NTg5M2YwNDBjNmIzZmQ0MGI2NzFlODg2NDdfMTA4NQ_43ae7dec-5b37-47e3-8e0a-cdd335b39f2c"
      unitRef="usd">175000000.0</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RleHRyZWdpb246Yzg3N2I0NTg5M2YwNDBjNmIzZmQ0MGI2NzFlODg2NDdfMTMyNg_b18d1cda-7ca0-4fb6-b130-f3dea11f088a"
      unitRef="usd">461600000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligationPercentage
      contextRef="ib41df0fb7def481fa40a4f7991b2fb11_I20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RleHRyZWdpb246Yzg3N2I0NTg5M2YwNDBjNmIzZmQ0MGI2NzFlODg2NDdfMTM1Mw_ba73d5eb-20ee-4d4a-a057-de8b39bd3f0f"
      unitRef="number">0.75</us-gaap:RevenueRemainingPerformanceObligationPercentage>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="ib41df0fb7def481fa40a4f7991b2fb11_I20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RleHRyZWdpb246Yzg3N2I0NTg5M2YwNDBjNmIzZmQ0MGI2NzFlODg2NDdfMTQxNg_1e03ce88-0311-4f1f-a294-c2b8d9098d5d">P12M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="ie2c2d58f7efb497fb733fc1a5a3eadd2_I20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RleHRyZWdpb246Yzg3N2I0NTg5M2YwNDBjNmIzZmQ0MGI2NzFlODg2NDdfMTQ3Ng_87380db7-71ce-4eae-a914-5ec2a137deee">P4Y</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:CapitalizedContractCostTableTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RleHRyZWdpb246Yzg3N2I0NTg5M2YwNDBjNmIzZmQ0MGI2NzFlODg2NDdfMTYwOA_7c061838-ff6d-46b3-8e39-92aa4797aae4">The following summarizes the activity of deferred incremental costs of obtaining a contract:&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.483%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.986%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;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:'Arial',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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Beginning balance&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;77,300&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;70,742&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78,876&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;72,265&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Capitalization of contract acquisition costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,222&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,892&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,446&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,013&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of deferred contract acquisition costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(9,025)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,866)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(17,825)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(15,510)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Ending balance&lt;/span&gt;&lt;/td&gt;&lt;td style="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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78,497&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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="padding:0 1pt"/&gt;&lt;td style="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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,768&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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="padding:0 1pt"/&gt;&lt;td style="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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;78,497&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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="padding:0 1pt"/&gt;&lt;td style="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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,768&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="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;/table&gt;</us-gaap:CapitalizedContractCostTableTextBlock>
    <us-gaap:CapitalizedContractCostNet
      contextRef="i13241181c0cb4760aa2bfa8ac3a897d8_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmViYzZkZTY1NDU5ODQyZGFiNWEwNzBmYzY1ZjBiMTRhL3RhYmxlcmFuZ2U6ZWJjNmRlNjU0NTk4NDJkYWI1YTA3MGZjNjVmMGIxNGFfMi0xLTEtMS0xMzk_974a1564-3b9b-4475-be4d-c5cdeeccf5b3"
      unitRef="usd">77300000</us-gaap:CapitalizedContractCostNet>
    <us-gaap:CapitalizedContractCostNet
      contextRef="i75e6ffc169a4490fa5a6e15cef925e71_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmViYzZkZTY1NDU5ODQyZGFiNWEwNzBmYzY1ZjBiMTRhL3RhYmxlcmFuZ2U6ZWJjNmRlNjU0NTk4NDJkYWI1YTA3MGZjNjVmMGIxNGFfMi0zLTEtMS0xMzk_10396618-49a2-4e06-bf6c-152396af3d62"
      unitRef="usd">70742000</us-gaap:CapitalizedContractCostNet>
    <us-gaap:CapitalizedContractCostNet
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmViYzZkZTY1NDU5ODQyZGFiNWEwNzBmYzY1ZjBiMTRhL3RhYmxlcmFuZ2U6ZWJjNmRlNjU0NTk4NDJkYWI1YTA3MGZjNjVmMGIxNGFfMi01LTEtMS0xMzk_828c9a89-bba6-4fe1-8980-87696dc2aaf6"
      unitRef="usd">78876000</us-gaap:CapitalizedContractCostNet>
    <us-gaap:CapitalizedContractCostNet
      contextRef="ie8912800a5734e098a2afc59fc8f1458_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmViYzZkZTY1NDU5ODQyZGFiNWEwNzBmYzY1ZjBiMTRhL3RhYmxlcmFuZ2U6ZWJjNmRlNjU0NTk4NDJkYWI1YTA3MGZjNjVmMGIxNGFfMi03LTEtMS0xMzk_76d39282-2daa-4f5b-87f2-b5165fac91ce"
      unitRef="usd">72265000</us-gaap:CapitalizedContractCostNet>
    <tenb:CapitalizedContractCostIncreaseFromCapitalizationOfCosts
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmViYzZkZTY1NDU5ODQyZGFiNWEwNzBmYzY1ZjBiMTRhL3RhYmxlcmFuZ2U6ZWJjNmRlNjU0NTk4NDJkYWI1YTA3MGZjNjVmMGIxNGFfMy0xLTEtMS0xMzk_9c93132d-448c-429e-b565-4373edf28553"
      unitRef="usd">10222000</tenb:CapitalizedContractCostIncreaseFromCapitalizationOfCosts>
    <tenb:CapitalizedContractCostIncreaseFromCapitalizationOfCosts
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmViYzZkZTY1NDU5ODQyZGFiNWEwNzBmYzY1ZjBiMTRhL3RhYmxlcmFuZ2U6ZWJjNmRlNjU0NTk4NDJkYWI1YTA3MGZjNjVmMGIxNGFfMy0zLTEtMS0xMzk_df42899a-63cd-415a-9b5b-2f7c8523bea4"
      unitRef="usd">8892000</tenb:CapitalizedContractCostIncreaseFromCapitalizationOfCosts>
    <tenb:CapitalizedContractCostIncreaseFromCapitalizationOfCosts
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmViYzZkZTY1NDU5ODQyZGFiNWEwNzBmYzY1ZjBiMTRhL3RhYmxlcmFuZ2U6ZWJjNmRlNjU0NTk4NDJkYWI1YTA3MGZjNjVmMGIxNGFfMy01LTEtMS0xMzk_d98aa211-996a-4315-aeb9-6ec3537b5549"
      unitRef="usd">17446000</tenb:CapitalizedContractCostIncreaseFromCapitalizationOfCosts>
    <tenb:CapitalizedContractCostIncreaseFromCapitalizationOfCosts
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmViYzZkZTY1NDU5ODQyZGFiNWEwNzBmYzY1ZjBiMTRhL3RhYmxlcmFuZ2U6ZWJjNmRlNjU0NTk4NDJkYWI1YTA3MGZjNjVmMGIxNGFfMy03LTEtMS0xMzk_fc0f5760-c7c3-43e8-b80d-e4c4d9b5c9a2"
      unitRef="usd">15013000</tenb:CapitalizedContractCostIncreaseFromCapitalizationOfCosts>
    <us-gaap:CapitalizedContractCostAmortization
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmViYzZkZTY1NDU5ODQyZGFiNWEwNzBmYzY1ZjBiMTRhL3RhYmxlcmFuZ2U6ZWJjNmRlNjU0NTk4NDJkYWI1YTA3MGZjNjVmMGIxNGFfNC0xLTEtMS0xMzk_dcf7b25f-79b0-4fee-b92b-feda00c0741d"
      unitRef="usd">9025000</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:CapitalizedContractCostAmortization
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmViYzZkZTY1NDU5ODQyZGFiNWEwNzBmYzY1ZjBiMTRhL3RhYmxlcmFuZ2U6ZWJjNmRlNjU0NTk4NDJkYWI1YTA3MGZjNjVmMGIxNGFfNC0zLTEtMS0xMzk_f7c4c177-1250-4d42-8ef8-58a4182dbaf8"
      unitRef="usd">7866000</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:CapitalizedContractCostAmortization
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmViYzZkZTY1NDU5ODQyZGFiNWEwNzBmYzY1ZjBiMTRhL3RhYmxlcmFuZ2U6ZWJjNmRlNjU0NTk4NDJkYWI1YTA3MGZjNjVmMGIxNGFfNC01LTEtMS0xMzk_043f324a-f159-4090-82a8-135d1f816a30"
      unitRef="usd">17825000</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:CapitalizedContractCostAmortization
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmViYzZkZTY1NDU5ODQyZGFiNWEwNzBmYzY1ZjBiMTRhL3RhYmxlcmFuZ2U6ZWJjNmRlNjU0NTk4NDJkYWI1YTA3MGZjNjVmMGIxNGFfNC03LTEtMS0xMzk_c508dc6b-ab72-4f09-8cdf-0ae2b6bfb784"
      unitRef="usd">15510000</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:CapitalizedContractCostNet
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmViYzZkZTY1NDU5ODQyZGFiNWEwNzBmYzY1ZjBiMTRhL3RhYmxlcmFuZ2U6ZWJjNmRlNjU0NTk4NDJkYWI1YTA3MGZjNjVmMGIxNGFfNS0xLTEtMS03MDg_bd59bd8d-6794-479b-9e64-e8a9429d59ef"
      unitRef="usd">78497000</us-gaap:CapitalizedContractCostNet>
    <us-gaap:CapitalizedContractCostNet
      contextRef="i1fd31efd14444629a30c8ef9a743e53c_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmViYzZkZTY1NDU5ODQyZGFiNWEwNzBmYzY1ZjBiMTRhL3RhYmxlcmFuZ2U6ZWJjNmRlNjU0NTk4NDJkYWI1YTA3MGZjNjVmMGIxNGFfNS0zLTEtMS03MDg_c284de79-78c1-43ed-857d-120e42ca1b6b"
      unitRef="usd">71768000</us-gaap:CapitalizedContractCostNet>
    <us-gaap:CapitalizedContractCostNet
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmViYzZkZTY1NDU5ODQyZGFiNWEwNzBmYzY1ZjBiMTRhL3RhYmxlcmFuZ2U6ZWJjNmRlNjU0NTk4NDJkYWI1YTA3MGZjNjVmMGIxNGFfNS01LTEtMS03MDg_d379867a-82ae-43bc-9289-c30a4bb79c06"
      unitRef="usd">78497000</us-gaap:CapitalizedContractCostNet>
    <us-gaap:CapitalizedContractCostNet
      contextRef="i1fd31efd14444629a30c8ef9a743e53c_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80My9mcmFnOmM4NzdiNDU4OTNmMDQwYzZiM2ZkNDBiNjcxZTg4NjQ3L3RhYmxlOmViYzZkZTY1NDU5ODQyZGFiNWEwNzBmYzY1ZjBiMTRhL3RhYmxlcmFuZ2U6ZWJjNmRlNjU0NTk4NDJkYWI1YTA3MGZjNjVmMGIxNGFfNS03LTEtMS03MDg_9c60b1f7-1dae-4665-88fc-e2fe26e42930"
      unitRef="usd">71768000</us-gaap:CapitalizedContractCostNet>
    <us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RleHRyZWdpb246M2NmOGFmMGI3N2QzNDFkZjlhNTY3NDQwZWIwYTM3MjZfMzA3_22a8d899-8aa1-49cf-8b86-70f9bde55f28">Cash Equivalents and Short-Term Investments&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following tables summarize the amortized cost, unrealized gain and loss and estimated fair value of cash equivalents and short-term investments:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:46.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Amortized Cost&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrealized Gain&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrealized Loss&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:'Arial',sans-serif;font-size:9pt;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:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Cash equivalents&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;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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total cash equivalents&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,682&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="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 #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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Short-term investments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,725&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,725&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Supranational bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,198&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,187&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury and agency obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,522&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,517&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total short-term investments&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;125,127&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(19)&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;125,111&#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-bottom:12pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:46.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.543%"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December&#160;31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Amortized Cost&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrealized Gain&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrealized Loss&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:'Arial',sans-serif;font-size:9pt;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:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Cash equivalents&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;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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total cash equivalents&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,653&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,653&#160;&lt;/span&gt;&lt;/td&gt;&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 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 #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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Short-term investments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,425&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,425&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,502&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,505&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury and agency obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,693&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total short-term investments&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;113,613&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;113,623&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The contractual maturities of our short-term investments are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: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:72.927%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.541%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Amortized Cost&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 #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Due within one 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;102,583&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;102,584&#160;&lt;/span&gt;&lt;/td&gt;&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Due between one and two years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,544&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,527&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total short-term investments&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;125,127&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;125,111&#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-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At June 30, 2021, cash and cash equivalents included $5.8 million of restricted cash primarily related to collateral for our outstanding letters of credit. At December&#160;31, 2020, cash and cash equivalents included $0.4 million of restricted cash related to collateral for a lease and credit card deposits. At June 30, 2021 and December&#160;31, 2020, cash and cash equivalents excluded $0.3 million and $0.2 million, respectively, of restricted cash related to an account established as collateral for a lease arrangement, which is included in other assets on the consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;</us-gaap:CashCashEquivalentsAndShortTermInvestmentsTextBlock>
    <us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RleHRyZWdpb246M2NmOGFmMGI3N2QzNDFkZjlhNTY3NDQwZWIwYTM3MjZfMzA5_09e21f03-745c-4ddb-af58-a3446fe795df">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following tables summarize the amortized cost, unrealized gain and loss and estimated fair value of cash equivalents and short-term investments:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:46.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="21" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Amortized Cost&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrealized Gain&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrealized Loss&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:'Arial',sans-serif;font-size:9pt;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:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Cash equivalents&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;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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total cash equivalents&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,682&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="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 #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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Short-term investments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,725&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,725&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Supranational bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,198&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,187&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury and agency obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,522&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,517&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total short-term investments&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;125,127&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(19)&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;125,111&#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-bottom:12pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:46.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.543%"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December&#160;31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Amortized Cost&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrealized Gain&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrealized Loss&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:'Arial',sans-serif;font-size:9pt;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:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Cash equivalents&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;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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total cash equivalents&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,653&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,653&#160;&lt;/span&gt;&lt;/td&gt;&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 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 #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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Short-term investments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,425&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,425&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,502&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,505&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury and agency obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,693&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total short-term investments&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;113,613&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;113,623&#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:DebtSecuritiesAvailableForSaleTableTextBlock>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i7e0af713c1824fbd890d9c0292d1a3d4_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOmIyMDNhN2FkOGI3YzQ1OGM5NDlmMTVmMTUwOWFiYmFiL3RhYmxlcmFuZ2U6YjIwM2E3YWQ4YjdjNDU4Yzk0OWYxNWYxNTA5YWJiYWJfMy0xLTEtMS0w_74144383-24d7-406f-be43-23fa5f87a0ab"
      unitRef="usd">47682000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i7e0af713c1824fbd890d9c0292d1a3d4_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOmIyMDNhN2FkOGI3YzQ1OGM5NDlmMTVmMTUwOWFiYmFiL3RhYmxlcmFuZ2U6YjIwM2E3YWQ4YjdjNDU4Yzk0OWYxNWYxNTA5YWJiYWJfMy03LTEtMS0w_881d6e69-5936-47d4-ae6d-ec32b52ea47d"
      unitRef="usd">47682000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOmIyMDNhN2FkOGI3YzQ1OGM5NDlmMTVmMTUwOWFiYmFiL3RhYmxlcmFuZ2U6YjIwM2E3YWQ4YjdjNDU4Yzk0OWYxNWYxNTA5YWJiYWJfNS0xLTEtMS0w_315d1e8f-6faf-4eec-9eed-9c7a41079d47"
      unitRef="usd">47682000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOmIyMDNhN2FkOGI3YzQ1OGM5NDlmMTVmMTUwOWFiYmFiL3RhYmxlcmFuZ2U6YjIwM2E3YWQ4YjdjNDU4Yzk0OWYxNWYxNTA5YWJiYWJfNS03LTEtMS0w_e0336ff2-814f-4366-9c36-4900812bdee2"
      unitRef="usd">47682000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="ib24f485f1ab642c384b4b0f39b8a8f3a_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOmIyMDNhN2FkOGI3YzQ1OGM5NDlmMTVmMTUwOWFiYmFiL3RhYmxlcmFuZ2U6YjIwM2E3YWQ4YjdjNDU4Yzk0OWYxNWYxNTA5YWJiYWJfOC0xLTEtMS0w_813ee527-c65c-47ac-b2b9-b5d88759b61c"
      unitRef="usd">79725000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="ib24f485f1ab642c384b4b0f39b8a8f3a_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOmIyMDNhN2FkOGI3YzQ1OGM5NDlmMTVmMTUwOWFiYmFiL3RhYmxlcmFuZ2U6YjIwM2E3YWQ4YjdjNDU4Yzk0OWYxNWYxNTA5YWJiYWJfOC0zLTEtMS0w_9feb79a9-c82c-4e59-9f35-31873c05dca8"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="ib24f485f1ab642c384b4b0f39b8a8f3a_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOmIyMDNhN2FkOGI3YzQ1OGM5NDlmMTVmMTUwOWFiYmFiL3RhYmxlcmFuZ2U6YjIwM2E3YWQ4YjdjNDU4Yzk0OWYxNWYxNTA5YWJiYWJfOC01LTEtMS0w_3919b849-805e-4477-b6b1-f5ad772df220"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ib24f485f1ab642c384b4b0f39b8a8f3a_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOmIyMDNhN2FkOGI3YzQ1OGM5NDlmMTVmMTUwOWFiYmFiL3RhYmxlcmFuZ2U6YjIwM2E3YWQ4YjdjNDU4Yzk0OWYxNWYxNTA5YWJiYWJfOC03LTEtMS0w_d0c1a045-82df-49b3-b425-57b409f55f18"
      unitRef="usd">79725000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="ifa679461204843a187a6a9f6b80238b9_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOmIyMDNhN2FkOGI3YzQ1OGM5NDlmMTVmMTUwOWFiYmFiL3RhYmxlcmFuZ2U6YjIwM2E3YWQ4YjdjNDU4Yzk0OWYxNWYxNTA5YWJiYWJfMTAtMS0xLTEtMTQxOQ_09547163-346f-4208-9f4c-1ef29f43eb8f"
      unitRef="usd">12682000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="ifa679461204843a187a6a9f6b80238b9_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOmIyMDNhN2FkOGI3YzQ1OGM5NDlmMTVmMTUwOWFiYmFiL3RhYmxlcmFuZ2U6YjIwM2E3YWQ4YjdjNDU4Yzk0OWYxNWYxNTA5YWJiYWJfMTAtMy0xLTEtMTQxOQ_40b8f135-c670-4d9d-b781-53a6120e4a6d"
      unitRef="usd">1000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="ifa679461204843a187a6a9f6b80238b9_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOmIyMDNhN2FkOGI3YzQ1OGM5NDlmMTVmMTUwOWFiYmFiL3RhYmxlcmFuZ2U6YjIwM2E3YWQ4YjdjNDU4Yzk0OWYxNWYxNTA5YWJiYWJfMTAtNS0xLTEtMTQxOQ_480f58ae-eeb4-4f3d-95e3-c82bd5ea2170"
      unitRef="usd">1000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ifa679461204843a187a6a9f6b80238b9_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOmIyMDNhN2FkOGI3YzQ1OGM5NDlmMTVmMTUwOWFiYmFiL3RhYmxlcmFuZ2U6YjIwM2E3YWQ4YjdjNDU4Yzk0OWYxNWYxNTA5YWJiYWJfMTAtNy0xLTEtMjE1NA_73e9e715-9fda-4bca-9fad-2e42024dc07e"
      unitRef="usd">12682000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i46d2a64618dd424d85ef8b23a88e556f_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOmIyMDNhN2FkOGI3YzQ1OGM5NDlmMTVmMTUwOWFiYmFiL3RhYmxlcmFuZ2U6YjIwM2E3YWQ4YjdjNDU4Yzk0OWYxNWYxNTA5YWJiYWJfOS0xLTEtMS0w_8f8d8a55-9b1d-4806-8229-5f3097c57ad7"
      unitRef="usd">13198000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i46d2a64618dd424d85ef8b23a88e556f_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOmIyMDNhN2FkOGI3YzQ1OGM5NDlmMTVmMTUwOWFiYmFiL3RhYmxlcmFuZ2U6YjIwM2E3YWQ4YjdjNDU4Yzk0OWYxNWYxNTA5YWJiYWJfOS0zLTEtMS0w_51fd9d25-df12-4f9b-9235-87aeeba57dc2"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i46d2a64618dd424d85ef8b23a88e556f_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOmIyMDNhN2FkOGI3YzQ1OGM5NDlmMTVmMTUwOWFiYmFiL3RhYmxlcmFuZ2U6YjIwM2E3YWQ4YjdjNDU4Yzk0OWYxNWYxNTA5YWJiYWJfOS01LTEtMS0w_7479ee60-5925-40e7-aa23-b1a52e97305a"
      unitRef="usd">11000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i46d2a64618dd424d85ef8b23a88e556f_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOmIyMDNhN2FkOGI3YzQ1OGM5NDlmMTVmMTUwOWFiYmFiL3RhYmxlcmFuZ2U6YjIwM2E3YWQ4YjdjNDU4Yzk0OWYxNWYxNTA5YWJiYWJfOS03LTEtMS0w_4b16c4a3-d073-49e6-8d3f-6039f7b158ec"
      unitRef="usd">13187000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="id4e4686a358642bfb13776ce52a18ea6_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOmIyMDNhN2FkOGI3YzQ1OGM5NDlmMTVmMTUwOWFiYmFiL3RhYmxlcmFuZ2U6YjIwM2E3YWQ4YjdjNDU4Yzk0OWYxNWYxNTA5YWJiYWJfMTAtMS0xLTEtMA_809311c0-b591-4fc1-b0c7-b99ed78a850d"
      unitRef="usd">19522000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="id4e4686a358642bfb13776ce52a18ea6_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOmIyMDNhN2FkOGI3YzQ1OGM5NDlmMTVmMTUwOWFiYmFiL3RhYmxlcmFuZ2U6YjIwM2E3YWQ4YjdjNDU4Yzk0OWYxNWYxNTA5YWJiYWJfMTAtMy0xLTEtMA_85226fe4-190b-49bf-8a24-1fed22e13472"
      unitRef="usd">2000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="id4e4686a358642bfb13776ce52a18ea6_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOmIyMDNhN2FkOGI3YzQ1OGM5NDlmMTVmMTUwOWFiYmFiL3RhYmxlcmFuZ2U6YjIwM2E3YWQ4YjdjNDU4Yzk0OWYxNWYxNTA5YWJiYWJfMTAtNS0xLTEtMA_89170a6b-86eb-4f4c-8c9b-03f5584761ad"
      unitRef="usd">7000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="id4e4686a358642bfb13776ce52a18ea6_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOmIyMDNhN2FkOGI3YzQ1OGM5NDlmMTVmMTUwOWFiYmFiL3RhYmxlcmFuZ2U6YjIwM2E3YWQ4YjdjNDU4Yzk0OWYxNWYxNTA5YWJiYWJfMTAtNy0xLTEtMA_912bf1e7-1a48-4971-b02c-32450c3b7386"
      unitRef="usd">19517000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOmIyMDNhN2FkOGI3YzQ1OGM5NDlmMTVmMTUwOWFiYmFiL3RhYmxlcmFuZ2U6YjIwM2E3YWQ4YjdjNDU4Yzk0OWYxNWYxNTA5YWJiYWJfMTEtMS0xLTEtMA_7afcd4d2-3263-49bd-a4b1-791959a7dd22"
      unitRef="usd">125127000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOmIyMDNhN2FkOGI3YzQ1OGM5NDlmMTVmMTUwOWFiYmFiL3RhYmxlcmFuZ2U6YjIwM2E3YWQ4YjdjNDU4Yzk0OWYxNWYxNTA5YWJiYWJfMTEtMy0xLTEtMA_10577b57-41e5-4b8b-b6b0-43f714679f39"
      unitRef="usd">3000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOmIyMDNhN2FkOGI3YzQ1OGM5NDlmMTVmMTUwOWFiYmFiL3RhYmxlcmFuZ2U6YjIwM2E3YWQ4YjdjNDU4Yzk0OWYxNWYxNTA5YWJiYWJfMTEtNS0xLTEtMA_23f43faf-e43f-4816-bd9b-50fe17861159"
      unitRef="usd">19000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOmIyMDNhN2FkOGI3YzQ1OGM5NDlmMTVmMTUwOWFiYmFiL3RhYmxlcmFuZ2U6YjIwM2E3YWQ4YjdjNDU4Yzk0OWYxNWYxNTA5YWJiYWJfMTEtNy0xLTEtMA_29c554ee-eac9-4e6c-8519-150cddd7528c"
      unitRef="usd">125111000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ibde931af975f4d59b630f3c37eba0fcb_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOjRmYTZkZjVkN2QzNjQ0NGM5NTYxOWFkNGJjMzIyZWRlL3RhYmxlcmFuZ2U6NGZhNmRmNWQ3ZDM2NDQ0Yzk1NjE5YWQ0YmMzMjJlZGVfMy0xLTEtMS0w_750ea26b-4f20-462f-b959-91ae8dfd2bf5"
      unitRef="usd">44153000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ibde931af975f4d59b630f3c37eba0fcb_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOjRmYTZkZjVkN2QzNjQ0NGM5NTYxOWFkNGJjMzIyZWRlL3RhYmxlcmFuZ2U6NGZhNmRmNWQ3ZDM2NDQ0Yzk1NjE5YWQ0YmMzMjJlZGVfMy03LTEtMS0w_b8ee4aba-6f16-4fa9-9b21-9581a2e81616"
      unitRef="usd">44153000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i6efb8a0d87684637987bef7591edf026_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOjRmYTZkZjVkN2QzNjQ0NGM5NTYxOWFkNGJjMzIyZWRlL3RhYmxlcmFuZ2U6NGZhNmRmNWQ3ZDM2NDQ0Yzk1NjE5YWQ0YmMzMjJlZGVfNC0xLTEtMS0w_d35230d7-90ab-470e-8ff3-da369e65ddec"
      unitRef="usd">4500000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i6efb8a0d87684637987bef7591edf026_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOjRmYTZkZjVkN2QzNjQ0NGM5NTYxOWFkNGJjMzIyZWRlL3RhYmxlcmFuZ2U6NGZhNmRmNWQ3ZDM2NDQ0Yzk1NjE5YWQ0YmMzMjJlZGVfNC03LTEtMS0w_58cc75e3-e50d-4615-9177-b05ae1fb0736"
      unitRef="usd">4500000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOjRmYTZkZjVkN2QzNjQ0NGM5NTYxOWFkNGJjMzIyZWRlL3RhYmxlcmFuZ2U6NGZhNmRmNWQ3ZDM2NDQ0Yzk1NjE5YWQ0YmMzMjJlZGVfNS0xLTEtMS0w_0be30608-9c6f-4878-8ba2-2bd539d5994c"
      unitRef="usd">48653000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOjRmYTZkZjVkN2QzNjQ0NGM5NTYxOWFkNGJjMzIyZWRlL3RhYmxlcmFuZ2U6NGZhNmRmNWQ3ZDM2NDQ0Yzk1NjE5YWQ0YmMzMjJlZGVfNS03LTEtMS0w_77720e6f-9b6c-4e79-add1-3ed5cb5f7161"
      unitRef="usd">48653000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i26a198b63b0c42aca6c1afc21fa077e5_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOjRmYTZkZjVkN2QzNjQ0NGM5NTYxOWFkNGJjMzIyZWRlL3RhYmxlcmFuZ2U6NGZhNmRmNWQ3ZDM2NDQ0Yzk1NjE5YWQ0YmMzMjJlZGVfOC0xLTEtMS0w_c544c0ed-d341-4c97-a1c5-1b243d827076"
      unitRef="usd">71425000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i26a198b63b0c42aca6c1afc21fa077e5_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOjRmYTZkZjVkN2QzNjQ0NGM5NTYxOWFkNGJjMzIyZWRlL3RhYmxlcmFuZ2U6NGZhNmRmNWQ3ZDM2NDQ0Yzk1NjE5YWQ0YmMzMjJlZGVfOC0zLTEtMS0w_1874a073-b9d4-4b6d-b656-73935cf9ae86"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i26a198b63b0c42aca6c1afc21fa077e5_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOjRmYTZkZjVkN2QzNjQ0NGM5NTYxOWFkNGJjMzIyZWRlL3RhYmxlcmFuZ2U6NGZhNmRmNWQ3ZDM2NDQ0Yzk1NjE5YWQ0YmMzMjJlZGVfOC01LTEtMS0w_3dc48792-8f8d-46f0-a2e3-dc47e91d36cf"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i26a198b63b0c42aca6c1afc21fa077e5_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOjRmYTZkZjVkN2QzNjQ0NGM5NTYxOWFkNGJjMzIyZWRlL3RhYmxlcmFuZ2U6NGZhNmRmNWQ3ZDM2NDQ0Yzk1NjE5YWQ0YmMzMjJlZGVfOC03LTEtMS0w_43b71506-cbe8-40ff-968e-e7a50a086d44"
      unitRef="usd">71425000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i3ce74aaff77446bc80526760cc83bc79_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOjRmYTZkZjVkN2QzNjQ0NGM5NTYxOWFkNGJjMzIyZWRlL3RhYmxlcmFuZ2U6NGZhNmRmNWQ3ZDM2NDQ0Yzk1NjE5YWQ0YmMzMjJlZGVfOS0xLTEtMS0w_2a49ccd4-d15d-403b-b279-c30d991a3940"
      unitRef="usd">4502000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i3ce74aaff77446bc80526760cc83bc79_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOjRmYTZkZjVkN2QzNjQ0NGM5NTYxOWFkNGJjMzIyZWRlL3RhYmxlcmFuZ2U6NGZhNmRmNWQ3ZDM2NDQ0Yzk1NjE5YWQ0YmMzMjJlZGVfOS0zLTEtMS0w_36d6d4e3-3aeb-4314-9670-4f94a5bbbb68"
      unitRef="usd">3000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i3ce74aaff77446bc80526760cc83bc79_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOjRmYTZkZjVkN2QzNjQ0NGM5NTYxOWFkNGJjMzIyZWRlL3RhYmxlcmFuZ2U6NGZhNmRmNWQ3ZDM2NDQ0Yzk1NjE5YWQ0YmMzMjJlZGVfOS01LTEtMS0w_b838114e-a38d-4543-8a6b-ab54e7185b5a"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i3ce74aaff77446bc80526760cc83bc79_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOjRmYTZkZjVkN2QzNjQ0NGM5NTYxOWFkNGJjMzIyZWRlL3RhYmxlcmFuZ2U6NGZhNmRmNWQ3ZDM2NDQ0Yzk1NjE5YWQ0YmMzMjJlZGVfOS03LTEtMS0w_5cc2fce4-11b6-49d0-9ea8-dd44adaad1cc"
      unitRef="usd">4505000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="i303626ad3eff4fc882d08fdb4b399f80_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOjRmYTZkZjVkN2QzNjQ0NGM5NTYxOWFkNGJjMzIyZWRlL3RhYmxlcmFuZ2U6NGZhNmRmNWQ3ZDM2NDQ0Yzk1NjE5YWQ0YmMzMjJlZGVfMTAtMS0xLTEtMA_70b17e30-ce2c-4353-87b7-b5b8e739638a"
      unitRef="usd">37686000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="i303626ad3eff4fc882d08fdb4b399f80_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOjRmYTZkZjVkN2QzNjQ0NGM5NTYxOWFkNGJjMzIyZWRlL3RhYmxlcmFuZ2U6NGZhNmRmNWQ3ZDM2NDQ0Yzk1NjE5YWQ0YmMzMjJlZGVfMTAtMy0xLTEtMA_25de03c9-275e-4062-b9fc-8da32628862b"
      unitRef="usd">7000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="i303626ad3eff4fc882d08fdb4b399f80_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOjRmYTZkZjVkN2QzNjQ0NGM5NTYxOWFkNGJjMzIyZWRlL3RhYmxlcmFuZ2U6NGZhNmRmNWQ3ZDM2NDQ0Yzk1NjE5YWQ0YmMzMjJlZGVfMTAtNS0xLTEtMA_ade50579-6fe1-4de1-8596-707d6c5d56ec"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i303626ad3eff4fc882d08fdb4b399f80_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOjRmYTZkZjVkN2QzNjQ0NGM5NTYxOWFkNGJjMzIyZWRlL3RhYmxlcmFuZ2U6NGZhNmRmNWQ3ZDM2NDQ0Yzk1NjE5YWQ0YmMzMjJlZGVfMTAtNy0xLTEtMA_a3efbd30-4876-4669-803a-689ae3be9c5d"
      unitRef="usd">37693000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOjRmYTZkZjVkN2QzNjQ0NGM5NTYxOWFkNGJjMzIyZWRlL3RhYmxlcmFuZ2U6NGZhNmRmNWQ3ZDM2NDQ0Yzk1NjE5YWQ0YmMzMjJlZGVfMTEtMS0xLTEtMA_575378a0-a2c2-42e6-89ac-2e9df8818bb3"
      unitRef="usd">113613000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOjRmYTZkZjVkN2QzNjQ0NGM5NTYxOWFkNGJjMzIyZWRlL3RhYmxlcmFuZ2U6NGZhNmRmNWQ3ZDM2NDQ0Yzk1NjE5YWQ0YmMzMjJlZGVfMTEtMy0xLTEtMA_308c6883-8916-4eff-b457-758076c40155"
      unitRef="usd">10000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOjRmYTZkZjVkN2QzNjQ0NGM5NTYxOWFkNGJjMzIyZWRlL3RhYmxlcmFuZ2U6NGZhNmRmNWQ3ZDM2NDQ0Yzk1NjE5YWQ0YmMzMjJlZGVfMTEtNS0xLTEtMA_b3639e07-1e71-4db8-b509-9a6f92841642"
      unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOjRmYTZkZjVkN2QzNjQ0NGM5NTYxOWFkNGJjMzIyZWRlL3RhYmxlcmFuZ2U6NGZhNmRmNWQ3ZDM2NDQ0Yzk1NjE5YWQ0YmMzMjJlZGVfMTEtNy0xLTEtMA_aaa18f8a-a973-4fb3-a804-2a0ae19b4f66"
      unitRef="usd">113623000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RleHRyZWdpb246M2NmOGFmMGI3N2QzNDFkZjlhNTY3NDQwZWIwYTM3MjZfMjc0ODc3OTA2OTkzNA_355ec902-c5bc-469e-8329-70ab77a60c69">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The contractual maturities of our short-term investments are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: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:72.927%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.541%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Amortized Cost&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 #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Due within one 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;102,583&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;102,584&#160;&lt;/span&gt;&lt;/td&gt;&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Due between one and two years&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,544&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,527&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total short-term investments&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;125,127&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;125,111&#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:InvestmentsClassifiedByContractualMaturityDateTableTextBlock>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOjNkN2QwYTNjNGY2NjQ0YTZiNDUxZjk5ZDBiMDM2MzlhL3RhYmxlcmFuZ2U6M2Q3ZDBhM2M0ZjY2NDRhNmI0NTFmOTlkMGIwMzYzOWFfMi0xLTEtMS0xMTE4_077bd54c-5f0d-4bfc-9a69-dda46d9b7aa6"
      unitRef="usd">102583000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearAmortizedCost>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOjNkN2QwYTNjNGY2NjQ0YTZiNDUxZjk5ZDBiMDM2MzlhL3RhYmxlcmFuZ2U6M2Q3ZDBhM2M0ZjY2NDRhNmI0NTFmOTlkMGIwMzYzOWFfMi0zLTEtMS0xMTE4_d25e5d78-8802-4764-a2d9-0d5aaa98824b"
      unitRef="usd">102584000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesRollingYearTwoThroughFiveAmortizedCostBasis
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOjNkN2QwYTNjNGY2NjQ0YTZiNDUxZjk5ZDBiMDM2MzlhL3RhYmxlcmFuZ2U6M2Q3ZDBhM2M0ZjY2NDRhNmI0NTFmOTlkMGIwMzYzOWFfMy0xLTEtMS0xMTE4_0e3368a2-a16e-4616-8767-e4b8912b306e"
      unitRef="usd">22544000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesRollingYearTwoThroughFiveAmortizedCostBasis>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOjNkN2QwYTNjNGY2NjQ0YTZiNDUxZjk5ZDBiMDM2MzlhL3RhYmxlcmFuZ2U6M2Q3ZDBhM2M0ZjY2NDRhNmI0NTFmOTlkMGIwMzYzOWFfMy0zLTEtMS0xMTE4_a138367e-b392-478e-9eeb-5400d0c9ad8a"
      unitRef="usd">22527000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesAfterOneThroughFiveYearsFairValue>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasis
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOjNkN2QwYTNjNGY2NjQ0YTZiNDUxZjk5ZDBiMDM2MzlhL3RhYmxlcmFuZ2U6M2Q3ZDBhM2M0ZjY2NDRhNmI0NTFmOTlkMGIwMzYzOWFfNC0xLTEtMS0xMTAy_68fac3f7-7ad2-48c8-bc49-c5aa5149f941"
      unitRef="usd">125127000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDateAmortizedCostBasis>
    <us-gaap:AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDate
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RhYmxlOjNkN2QwYTNjNGY2NjQ0YTZiNDUxZjk5ZDBiMDM2MzlhL3RhYmxlcmFuZ2U6M2Q3ZDBhM2M0ZjY2NDRhNmI0NTFmOTlkMGIwMzYzOWFfNC0zLTEtMS0xMTA3_ffe84f39-8d1e-488a-a370-d1bbd2739c4b"
      unitRef="usd">125111000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesSingleMaturityDate>
    <us-gaap:RestrictedCash
      contextRef="i1253c14eabb74008aabe69138eef4186_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RleHRyZWdpb246M2NmOGFmMGI3N2QzNDFkZjlhNTY3NDQwZWIwYTM3MjZfMTA5OTUxMTYyOTkxMA_e2a567c0-3d68-4729-969c-6b2b49de1c22"
      unitRef="usd">5800000</us-gaap:RestrictedCash>
    <us-gaap:RestrictedCash
      contextRef="id8d0a8f9a8704a47b1cf039c500c42ab_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RleHRyZWdpb246M2NmOGFmMGI3N2QzNDFkZjlhNTY3NDQwZWIwYTM3MjZfMTA5OTUxMTYyOTkyNQ_1b04abc8-8c56-4036-b34a-dc3df8158414"
      unitRef="usd">400000</us-gaap:RestrictedCash>
    <us-gaap:RestrictedCash
      contextRef="ia65deccc4dae412b850b50673792239a_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RleHRyZWdpb246M2NmOGFmMGI3N2QzNDFkZjlhNTY3NDQwZWIwYTM3MjZfMTA5OTUxMTYyOTg3MQ_4e0f9f72-f720-4289-91de-8e5bcbc984af"
      unitRef="usd">300000</us-gaap:RestrictedCash>
    <us-gaap:RestrictedCash
      contextRef="i6990054831ac444bb5e5e52014f3e376_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF80OS9mcmFnOjNjZjhhZjBiNzdkMzQxZGY5YTU2NzQ0MGViMGEzNzI2L3RleHRyZWdpb246M2NmOGFmMGI3N2QzNDFkZjlhNTY3NDQwZWIwYTM3MjZfMTA5OTUxMTYyOTg4Ng_ff22731e-9306-41c2-af15-64a035f52b1c"
      unitRef="usd">200000</us-gaap:RestrictedCash>
    <us-gaap:FairValueDisclosuresTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RleHRyZWdpb246MzJjMWIzZDA2NTUwNDJjZTliNWM2ZGU5N2Y3NzYxNTZfNzc5_d65e50fc-a68d-44e5-b34d-b8d12888765d">Fair Value Measurements&lt;div style="margin-bottom:6pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We measure certain financial instruments at fair value using a fair value hierarchy. In the hierarchy, assets are classified based on the lowest level inputs used in valuation into the following categories:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Level 1&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &#x2014; Quoted prices in active markets for identical assets and liabilities;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:3pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Level 2&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &#x2014; Observable inputs including quoted market prices for similar assets and liabilities in active markets, quoted prices for identical assets and liabilities in inactive markets, or inputs that are corroborated by observable market data; and&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Level 3&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &#x2014; Unobservable inputs.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following tables summarize assets that are measured at fair value on a recurring basis:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:46.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.543%"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 #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:'Arial',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 #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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Level 3&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:'Arial',sans-serif;font-size:9pt;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Cash equivalents&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;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total cash equivalents&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Short-term investments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,725&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,725&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Supranational bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,187&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,187&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury and agency obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,517&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,517&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total short-term investments&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;125,111&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;125,111&#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-bottom:12pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:46.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.543%"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December&#160;31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 #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:'Arial',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 #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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Level 3&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:'Arial',sans-serif;font-size:9pt;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Cash equivalents&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;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total cash equivalents&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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 style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,653&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Short-term investments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,425&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,425&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,505&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,505&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury and agency obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,693&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,693&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total short-term investments&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;113,623&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;113,623&#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-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We did not have any liabilities measured and recorded at fair value at June 30, 2021 or December&#160;31, 2020.&lt;/span&gt;&lt;/div&gt;</us-gaap:FairValueDisclosuresTextBlock>
    <us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RleHRyZWdpb246MzJjMWIzZDA2NTUwNDJjZTliNWM2ZGU5N2Y3NzYxNTZfNzc3_5141bc95-88a7-4e25-b726-140e31279847">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following tables summarize assets that are measured at fair value on a recurring basis:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:46.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.543%"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 #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:'Arial',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 #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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Level 3&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:'Arial',sans-serif;font-size:9pt;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Cash equivalents&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;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total cash equivalents&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;47,682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"/&gt;&lt;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Short-term investments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,725&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,725&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Supranational bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,187&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,187&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury and agency obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,517&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,517&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;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 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total short-term investments&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;125,111&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;125,111&#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;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:46.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.543%"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December&#160;31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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 #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:'Arial',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 #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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Level 3&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:'Arial',sans-serif;font-size:9pt;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Cash equivalents&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;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Money market funds&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total cash equivalents&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,153&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,500&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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 style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,653&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;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:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;Short-term investments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,425&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,425&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,505&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,505&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;U.S. Treasury and agency obligations&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,693&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,693&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total short-term investments&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;113,623&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;113,623&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i1dae282b382c428d8fea31c6bd846176_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOjRlMzI3NTFlMTA5MDQ0OTU4MWE3OTg3ZTg4ZDBlNTdiL3RhYmxlcmFuZ2U6NGUzMjc1MWUxMDkwNDQ5NTgxYTc5ODdlODhkMGU1N2JfMy0xLTEtMS0w_ce936dcd-bec0-45ea-8db7-feeb4885a4a4"
      unitRef="usd">47682000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i2e502bdd234d45c3a39b99c97e014d6d_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOjRlMzI3NTFlMTA5MDQ0OTU4MWE3OTg3ZTg4ZDBlNTdiL3RhYmxlcmFuZ2U6NGUzMjc1MWUxMDkwNDQ5NTgxYTc5ODdlODhkMGU1N2JfMy0zLTEtMS0w_01ee5251-e1a4-4200-af88-55766cafd018"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ia7aa801e63894babadf5f7f693402cbd_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOjRlMzI3NTFlMTA5MDQ0OTU4MWE3OTg3ZTg4ZDBlNTdiL3RhYmxlcmFuZ2U6NGUzMjc1MWUxMDkwNDQ5NTgxYTc5ODdlODhkMGU1N2JfMy01LTEtMS0w_55fcf35a-a284-43dd-9e46-6366e3d8dbb8"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i7e0af713c1824fbd890d9c0292d1a3d4_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOjRlMzI3NTFlMTA5MDQ0OTU4MWE3OTg3ZTg4ZDBlNTdiL3RhYmxlcmFuZ2U6NGUzMjc1MWUxMDkwNDQ5NTgxYTc5ODdlODhkMGU1N2JfMy03LTEtMS0w_8fec93f0-cc00-45c9-942f-01240046f409"
      unitRef="usd">47682000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i3468ae95fa7a40f8b09e817befdb9e8f_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOjRlMzI3NTFlMTA5MDQ0OTU4MWE3OTg3ZTg4ZDBlNTdiL3RhYmxlcmFuZ2U6NGUzMjc1MWUxMDkwNDQ5NTgxYTc5ODdlODhkMGU1N2JfNS0xLTEtMS0w_abc48225-6301-42c4-8819-144fa6a285a1"
      unitRef="usd">47682000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="idaba3dd540a645fdbea2f92f5f62dccb_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOjRlMzI3NTFlMTA5MDQ0OTU4MWE3OTg3ZTg4ZDBlNTdiL3RhYmxlcmFuZ2U6NGUzMjc1MWUxMDkwNDQ5NTgxYTc5ODdlODhkMGU1N2JfNS0zLTEtMS0w_6458c2ad-e860-4450-bc1e-efdca981d32e"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="iab087fb39b764680a53185a4f6691ca4_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOjRlMzI3NTFlMTA5MDQ0OTU4MWE3OTg3ZTg4ZDBlNTdiL3RhYmxlcmFuZ2U6NGUzMjc1MWUxMDkwNDQ5NTgxYTc5ODdlODhkMGU1N2JfNS01LTEtMS0w_cbe6288d-be36-4acd-856b-b540212028e7"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i253b84d675a6437a89b3dc0c69be57d2_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOjRlMzI3NTFlMTA5MDQ0OTU4MWE3OTg3ZTg4ZDBlNTdiL3RhYmxlcmFuZ2U6NGUzMjc1MWUxMDkwNDQ5NTgxYTc5ODdlODhkMGU1N2JfNS03LTEtMS0w_2a484783-4fa2-4639-8b14-9ec77fb614b9"
      unitRef="usd">47682000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="if72dbfe3aaf24e2080c76cc5f451e8fd_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOjRlMzI3NTFlMTA5MDQ0OTU4MWE3OTg3ZTg4ZDBlNTdiL3RhYmxlcmFuZ2U6NGUzMjc1MWUxMDkwNDQ5NTgxYTc5ODdlODhkMGU1N2JfOC0xLTEtMS0w_91811ea0-634b-48be-9940-5b11e4af8b67"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i36be063f5b344700a56c3054d8440ae3_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOjRlMzI3NTFlMTA5MDQ0OTU4MWE3OTg3ZTg4ZDBlNTdiL3RhYmxlcmFuZ2U6NGUzMjc1MWUxMDkwNDQ5NTgxYTc5ODdlODhkMGU1N2JfOC0zLTEtMS0w_c703740d-7d39-4d1c-9cad-fb55f2a88b1a"
      unitRef="usd">79725000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ief3a9f0b888e47e498a38166129fba32_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOjRlMzI3NTFlMTA5MDQ0OTU4MWE3OTg3ZTg4ZDBlNTdiL3RhYmxlcmFuZ2U6NGUzMjc1MWUxMDkwNDQ5NTgxYTc5ODdlODhkMGU1N2JfOC01LTEtMS0w_a6debec2-ec80-41aa-b648-adffab4d92d1"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ib24f485f1ab642c384b4b0f39b8a8f3a_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOjRlMzI3NTFlMTA5MDQ0OTU4MWE3OTg3ZTg4ZDBlNTdiL3RhYmxlcmFuZ2U6NGUzMjc1MWUxMDkwNDQ5NTgxYTc5ODdlODhkMGU1N2JfOC03LTEtMS0w_200cf3e9-4305-42f3-9ce8-2cfaa7dd00db"
      unitRef="usd">79725000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i6b7e8dc4adde481b81da656a9c68a116_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOjRlMzI3NTFlMTA5MDQ0OTU4MWE3OTg3ZTg4ZDBlNTdiL3RhYmxlcmFuZ2U6NGUzMjc1MWUxMDkwNDQ5NTgxYTc5ODdlODhkMGU1N2JfMTAtMS0xLTEtMTQzOQ_58d0ec8f-9173-4320-9ebe-dda78cb0d7bb"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="id3f898d2b0444d239d6da3aadf4f8a7e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOjRlMzI3NTFlMTA5MDQ0OTU4MWE3OTg3ZTg4ZDBlNTdiL3RhYmxlcmFuZ2U6NGUzMjc1MWUxMDkwNDQ5NTgxYTc5ODdlODhkMGU1N2JfMTAtMy0xLTEtMTQzOQ_85af672e-d663-412b-a331-784faf791f5a"
      unitRef="usd">12682000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ic2b1ebed61ce43c886da1fe3119fee2e_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOjRlMzI3NTFlMTA5MDQ0OTU4MWE3OTg3ZTg4ZDBlNTdiL3RhYmxlcmFuZ2U6NGUzMjc1MWUxMDkwNDQ5NTgxYTc5ODdlODhkMGU1N2JfMTAtNS0xLTEtMTQzOQ_b2022cb8-63c4-4365-9f5f-76e2d52fde0b"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i073f5d6c21db4e1bbaeb11e9cc0a5301_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOjRlMzI3NTFlMTA5MDQ0OTU4MWE3OTg3ZTg4ZDBlNTdiL3RhYmxlcmFuZ2U6NGUzMjc1MWUxMDkwNDQ5NTgxYTc5ODdlODhkMGU1N2JfMTAtNy0xLTEtMjE1Nw_b46c0824-d1ca-48e6-9a67-1294f9801bd0"
      unitRef="usd">12682000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i79a0c1c5ee3e4c558a123970d345518b_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOjRlMzI3NTFlMTA5MDQ0OTU4MWE3OTg3ZTg4ZDBlNTdiL3RhYmxlcmFuZ2U6NGUzMjc1MWUxMDkwNDQ5NTgxYTc5ODdlODhkMGU1N2JfOS0xLTEtMS0w_09434e3e-37e6-4a6d-907b-f76173935626"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i67dfb6a4a02f498a9745b148fc547905_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOjRlMzI3NTFlMTA5MDQ0OTU4MWE3OTg3ZTg4ZDBlNTdiL3RhYmxlcmFuZ2U6NGUzMjc1MWUxMDkwNDQ5NTgxYTc5ODdlODhkMGU1N2JfOS0zLTEtMS0w_00f4c90b-54b7-4d7d-b783-8ac1a1f6f30c"
      unitRef="usd">13187000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ic4461c57d2554709b0b4ee8f7402f468_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOjRlMzI3NTFlMTA5MDQ0OTU4MWE3OTg3ZTg4ZDBlNTdiL3RhYmxlcmFuZ2U6NGUzMjc1MWUxMDkwNDQ5NTgxYTc5ODdlODhkMGU1N2JfOS01LTEtMS0w_8be25e46-8d7c-4827-b94e-bfbf9cec6d29"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i46d2a64618dd424d85ef8b23a88e556f_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOjRlMzI3NTFlMTA5MDQ0OTU4MWE3OTg3ZTg4ZDBlNTdiL3RhYmxlcmFuZ2U6NGUzMjc1MWUxMDkwNDQ5NTgxYTc5ODdlODhkMGU1N2JfOS03LTEtMS0w_634f18a8-1d6d-43a6-b3a0-a156ca4b0a84"
      unitRef="usd">13187000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i1fb741f997a144cc98d88db03673c082_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOjRlMzI3NTFlMTA5MDQ0OTU4MWE3OTg3ZTg4ZDBlNTdiL3RhYmxlcmFuZ2U6NGUzMjc1MWUxMDkwNDQ5NTgxYTc5ODdlODhkMGU1N2JfMTAtMS0xLTEtMA_31586786-384a-4e53-a140-e9a266e46256"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="idfa00c8ecc614905b1b7ff317e079c85_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOjRlMzI3NTFlMTA5MDQ0OTU4MWE3OTg3ZTg4ZDBlNTdiL3RhYmxlcmFuZ2U6NGUzMjc1MWUxMDkwNDQ5NTgxYTc5ODdlODhkMGU1N2JfMTAtMy0xLTEtMA_f228e7eb-1a20-4bcf-bf9d-742aa740083d"
      unitRef="usd">19517000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i69285006e5104737b87005cb497d3da2_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOjRlMzI3NTFlMTA5MDQ0OTU4MWE3OTg3ZTg4ZDBlNTdiL3RhYmxlcmFuZ2U6NGUzMjc1MWUxMDkwNDQ5NTgxYTc5ODdlODhkMGU1N2JfMTAtNS0xLTEtMA_421c4566-e8e7-4be4-bbde-ae864834f6c1"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="id4e4686a358642bfb13776ce52a18ea6_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOjRlMzI3NTFlMTA5MDQ0OTU4MWE3OTg3ZTg4ZDBlNTdiL3RhYmxlcmFuZ2U6NGUzMjc1MWUxMDkwNDQ5NTgxYTc5ODdlODhkMGU1N2JfMTAtNy0xLTEtMA_d03cb759-9cf3-42bb-85f4-2252e48afe6a"
      unitRef="usd">19517000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i21823778cbf14618ae3040de12563d13_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOjRlMzI3NTFlMTA5MDQ0OTU4MWE3OTg3ZTg4ZDBlNTdiL3RhYmxlcmFuZ2U6NGUzMjc1MWUxMDkwNDQ5NTgxYTc5ODdlODhkMGU1N2JfMTEtMS0xLTEtMA_e122ceed-29b4-44a5-be48-2e094f74dc7d"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i36315b4fd71849998f9a50ffefe497ea_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOjRlMzI3NTFlMTA5MDQ0OTU4MWE3OTg3ZTg4ZDBlNTdiL3RhYmxlcmFuZ2U6NGUzMjc1MWUxMDkwNDQ5NTgxYTc5ODdlODhkMGU1N2JfMTEtMy0xLTEtMA_725a33d5-eba6-4444-afb2-8da94f72d408"
      unitRef="usd">125111000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i9f64119ca9a44aba96925e5616b8213a_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOjRlMzI3NTFlMTA5MDQ0OTU4MWE3OTg3ZTg4ZDBlNTdiL3RhYmxlcmFuZ2U6NGUzMjc1MWUxMDkwNDQ5NTgxYTc5ODdlODhkMGU1N2JfMTEtNS0xLTEtMA_d012312a-3d6f-4b66-b1ed-35e2c4df6de9"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOjRlMzI3NTFlMTA5MDQ0OTU4MWE3OTg3ZTg4ZDBlNTdiL3RhYmxlcmFuZ2U6NGUzMjc1MWUxMDkwNDQ5NTgxYTc5ODdlODhkMGU1N2JfMTEtNy0xLTEtMA_9a671e40-d84e-417e-91fc-3398a0eb8c0c"
      unitRef="usd">125111000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ic61aed0def7946d6a953b13a40a88b63_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOmQ0MGIwNDk3YTI1OTQ1MWM5NTI4MTU4ZDgyN2VmNThjL3RhYmxlcmFuZ2U6ZDQwYjA0OTdhMjU5NDUxYzk1MjgxNThkODI3ZWY1OGNfMy0xLTEtMS0w_e5693e21-7490-4236-86ab-ca2cff9b5645"
      unitRef="usd">44153000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ie6230fbd36ae44208289767e91b52f9d_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOmQ0MGIwNDk3YTI1OTQ1MWM5NTI4MTU4ZDgyN2VmNThjL3RhYmxlcmFuZ2U6ZDQwYjA0OTdhMjU5NDUxYzk1MjgxNThkODI3ZWY1OGNfMy0zLTEtMS0w_211435d0-f977-4e83-9a7c-fc96d801a18c"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ibc217e80868448268f89a053b463270f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOmQ0MGIwNDk3YTI1OTQ1MWM5NTI4MTU4ZDgyN2VmNThjL3RhYmxlcmFuZ2U6ZDQwYjA0OTdhMjU5NDUxYzk1MjgxNThkODI3ZWY1OGNfMy01LTEtMS0w_b894817d-9de0-4aaf-916c-d1eb414a0ee1"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ibde931af975f4d59b630f3c37eba0fcb_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOmQ0MGIwNDk3YTI1OTQ1MWM5NTI4MTU4ZDgyN2VmNThjL3RhYmxlcmFuZ2U6ZDQwYjA0OTdhMjU5NDUxYzk1MjgxNThkODI3ZWY1OGNfMy03LTEtMS0w_0ae4242e-4411-4e56-a149-fec13da415c0"
      unitRef="usd">44153000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ib6134bf7902041028b842ff928c84ff0_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOmQ0MGIwNDk3YTI1OTQ1MWM5NTI4MTU4ZDgyN2VmNThjL3RhYmxlcmFuZ2U6ZDQwYjA0OTdhMjU5NDUxYzk1MjgxNThkODI3ZWY1OGNfNC0xLTEtMS0w_43c5a234-7e32-4e9a-acff-4f52dd660475"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ie690f648faee4199ab25807d5e40c021_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOmQ0MGIwNDk3YTI1OTQ1MWM5NTI4MTU4ZDgyN2VmNThjL3RhYmxlcmFuZ2U6ZDQwYjA0OTdhMjU5NDUxYzk1MjgxNThkODI3ZWY1OGNfNC0zLTEtMS0w_8ab0caef-33c2-4def-9a78-34cdab332d46"
      unitRef="usd">4500000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i7ccf6c78659c4583a2cfc63ce95b1c89_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOmQ0MGIwNDk3YTI1OTQ1MWM5NTI4MTU4ZDgyN2VmNThjL3RhYmxlcmFuZ2U6ZDQwYjA0OTdhMjU5NDUxYzk1MjgxNThkODI3ZWY1OGNfNC01LTEtMS0w_05504a68-d17a-461e-8ebd-5715a7f56371"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i6efb8a0d87684637987bef7591edf026_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOmQ0MGIwNDk3YTI1OTQ1MWM5NTI4MTU4ZDgyN2VmNThjL3RhYmxlcmFuZ2U6ZDQwYjA0OTdhMjU5NDUxYzk1MjgxNThkODI3ZWY1OGNfNC03LTEtMS0w_92ed941c-ba9f-4d8a-b637-604df8d438f2"
      unitRef="usd">4500000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i2b2820968b7b4251a66edfdb20286abd_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOmQ0MGIwNDk3YTI1OTQ1MWM5NTI4MTU4ZDgyN2VmNThjL3RhYmxlcmFuZ2U6ZDQwYjA0OTdhMjU5NDUxYzk1MjgxNThkODI3ZWY1OGNfNS0xLTEtMS0w_afc9ae56-ed1a-4a55-a0be-070b31439fbb"
      unitRef="usd">44153000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="i4aa8e92c642d46fe82e5dc0c6b4e3a2e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOmQ0MGIwNDk3YTI1OTQ1MWM5NTI4MTU4ZDgyN2VmNThjL3RhYmxlcmFuZ2U6ZDQwYjA0OTdhMjU5NDUxYzk1MjgxNThkODI3ZWY1OGNfNS0zLTEtMS0w_100c9096-b550-4bbc-bcf9-826bbd1ee000"
      unitRef="usd">4500000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="ife6a0b33c08b4955a7150221dab35c15_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOmQ0MGIwNDk3YTI1OTQ1MWM5NTI4MTU4ZDgyN2VmNThjL3RhYmxlcmFuZ2U6ZDQwYjA0OTdhMjU5NDUxYzk1MjgxNThkODI3ZWY1OGNfNS01LTEtMS0w_b02c3e47-6eac-4bf0-95da-91f9925c9b27"
      unitRef="usd">0</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure
      contextRef="iad1e022e57784561b119fc63a48d0610_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOmQ0MGIwNDk3YTI1OTQ1MWM5NTI4MTU4ZDgyN2VmNThjL3RhYmxlcmFuZ2U6ZDQwYjA0OTdhMjU5NDUxYzk1MjgxNThkODI3ZWY1OGNfNS03LTEtMS0w_a0889156-02b9-448d-a1f8-ea4fedf516ce"
      unitRef="usd">48653000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i45779ec08ee14abc8a50475d8d86c243_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOmQ0MGIwNDk3YTI1OTQ1MWM5NTI4MTU4ZDgyN2VmNThjL3RhYmxlcmFuZ2U6ZDQwYjA0OTdhMjU5NDUxYzk1MjgxNThkODI3ZWY1OGNfOC0xLTEtMS0w_a59c43ae-213b-4acb-9d66-7364c87e7ebb"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="id96530ec9dae4d9096ce0a0c7ebe7ef3_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOmQ0MGIwNDk3YTI1OTQ1MWM5NTI4MTU4ZDgyN2VmNThjL3RhYmxlcmFuZ2U6ZDQwYjA0OTdhMjU5NDUxYzk1MjgxNThkODI3ZWY1OGNfOC0zLTEtMS0w_70ac5c89-948a-43cd-8abd-d67b5336fb98"
      unitRef="usd">71425000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i945f32e147fe43a8a81a1b31f596452c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOmQ0MGIwNDk3YTI1OTQ1MWM5NTI4MTU4ZDgyN2VmNThjL3RhYmxlcmFuZ2U6ZDQwYjA0OTdhMjU5NDUxYzk1MjgxNThkODI3ZWY1OGNfOC01LTEtMS0w_3e1ceb68-68ff-4b65-bfb3-b97940506939"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i26a198b63b0c42aca6c1afc21fa077e5_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOmQ0MGIwNDk3YTI1OTQ1MWM5NTI4MTU4ZDgyN2VmNThjL3RhYmxlcmFuZ2U6ZDQwYjA0OTdhMjU5NDUxYzk1MjgxNThkODI3ZWY1OGNfOC03LTEtMS0w_1c583c29-3b95-433b-b927-976b6a3440aa"
      unitRef="usd">71425000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ia34f06e8eb9547a29b1b89195aefd761_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOmQ0MGIwNDk3YTI1OTQ1MWM5NTI4MTU4ZDgyN2VmNThjL3RhYmxlcmFuZ2U6ZDQwYjA0OTdhMjU5NDUxYzk1MjgxNThkODI3ZWY1OGNfOS0xLTEtMS0w_6fd980d0-f2a2-43cf-a11b-6bbbd17dc5eb"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i2d23f4466e514dd798330a6c4efeb655_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOmQ0MGIwNDk3YTI1OTQ1MWM5NTI4MTU4ZDgyN2VmNThjL3RhYmxlcmFuZ2U6ZDQwYjA0OTdhMjU5NDUxYzk1MjgxNThkODI3ZWY1OGNfOS0zLTEtMS0w_70865b7e-4cfd-4c23-9bbf-732678fdeea2"
      unitRef="usd">4505000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i73562542136e4da4b51c9a5251e92be4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOmQ0MGIwNDk3YTI1OTQ1MWM5NTI4MTU4ZDgyN2VmNThjL3RhYmxlcmFuZ2U6ZDQwYjA0OTdhMjU5NDUxYzk1MjgxNThkODI3ZWY1OGNfOS01LTEtMS0w_9191ad3e-eec1-46ee-9c76-8b29c874337c"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i0e0c3cdd862241ca992f5755526b184f_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOmQ0MGIwNDk3YTI1OTQ1MWM5NTI4MTU4ZDgyN2VmNThjL3RhYmxlcmFuZ2U6ZDQwYjA0OTdhMjU5NDUxYzk1MjgxNThkODI3ZWY1OGNfOS03LTEtMS0w_a39990c7-68f2-4586-8504-ae55c3365976"
      unitRef="usd">4505000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ia30c937c269d4d0b917f4ede3b4a8ba1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOmQ0MGIwNDk3YTI1OTQ1MWM5NTI4MTU4ZDgyN2VmNThjL3RhYmxlcmFuZ2U6ZDQwYjA0OTdhMjU5NDUxYzk1MjgxNThkODI3ZWY1OGNfMTAtMS0xLTEtMA_d0419eba-7d96-4d40-9c65-0266509a83f2"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ie38b41edc71d437aa629ba5358328c67_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOmQ0MGIwNDk3YTI1OTQ1MWM5NTI4MTU4ZDgyN2VmNThjL3RhYmxlcmFuZ2U6ZDQwYjA0OTdhMjU5NDUxYzk1MjgxNThkODI3ZWY1OGNfMTAtMy0xLTEtMA_37d61f7c-7f4f-48f1-a1dd-4f30c7004a53"
      unitRef="usd">37693000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i01a430888b314d7b8495ce577e584514_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOmQ0MGIwNDk3YTI1OTQ1MWM5NTI4MTU4ZDgyN2VmNThjL3RhYmxlcmFuZ2U6ZDQwYjA0OTdhMjU5NDUxYzk1MjgxNThkODI3ZWY1OGNfMTAtNS0xLTEtMA_dd33f93e-c5a1-43f1-911e-e520ab9d7a7c"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i303626ad3eff4fc882d08fdb4b399f80_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOmQ0MGIwNDk3YTI1OTQ1MWM5NTI4MTU4ZDgyN2VmNThjL3RhYmxlcmFuZ2U6ZDQwYjA0OTdhMjU5NDUxYzk1MjgxNThkODI3ZWY1OGNfMTAtNy0xLTEtMA_2932a6a0-e834-420a-9f09-392ec5e267f7"
      unitRef="usd">37693000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i3f165047b3f44a90918b36c40c19e83b_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOmQ0MGIwNDk3YTI1OTQ1MWM5NTI4MTU4ZDgyN2VmNThjL3RhYmxlcmFuZ2U6ZDQwYjA0OTdhMjU5NDUxYzk1MjgxNThkODI3ZWY1OGNfMTEtMS0xLTEtMA_a6b8c8cf-a321-4312-a0e0-65206d8068c9"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ia274d95a12894769bb4b2990d8934db8_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOmQ0MGIwNDk3YTI1OTQ1MWM5NTI4MTU4ZDgyN2VmNThjL3RhYmxlcmFuZ2U6ZDQwYjA0OTdhMjU5NDUxYzk1MjgxNThkODI3ZWY1OGNfMTEtMy0xLTEtMA_98573bf6-87fd-4319-ab28-0504378b1f9f"
      unitRef="usd">113623000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="i907c3d8840534d0e8b254a6ded2f3fc5_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOmQ0MGIwNDk3YTI1OTQ1MWM5NTI4MTU4ZDgyN2VmNThjL3RhYmxlcmFuZ2U6ZDQwYjA0OTdhMjU5NDUxYzk1MjgxNThkODI3ZWY1OGNfMTEtNS0xLTEtMA_346c7c60-b055-437d-af68-37216f502d29"
      unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:AvailableForSaleSecuritiesDebtSecurities
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81Mi9mcmFnOjMyYzFiM2QwNjU1MDQyY2U5YjVjNmRlOTdmNzc2MTU2L3RhYmxlOmQ0MGIwNDk3YTI1OTQ1MWM5NTI4MTU4ZDgyN2VmNThjL3RhYmxlcmFuZ2U6ZDQwYjA0OTdhMjU5NDUxYzk1MjgxNThkODI3ZWY1OGNfMTEtNy0xLTEtMA_41aad49a-1dec-45e4-8939-0bd185ec9a25"
      unitRef="usd">113623000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81NS9mcmFnOjdkMDBjNTdhMjdmYjRhYzBiMmIzYjQxYTZhMDJhMzk3L3RleHRyZWdpb246N2QwMGM1N2EyN2ZiNGFjMGIyYjNiNDFhNmEwMmEzOTdfMjAy_9de65ddf-8e56-4129-b7cc-83206770f782">Property and Equipment, Net&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment, net consisted of the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;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.316%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.150%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.540%"/&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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30, 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December&#160;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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Computer software and equipment&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,677&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,930&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Furniture and fixtures&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,033&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 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,011&lt;/span&gt;&lt;/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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Leasehold improvements&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,229&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 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,210&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Right-of-use assets under finance leases&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,344&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 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,571&lt;/span&gt;&lt;/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 style="padding-left:22.5pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59,283&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 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,722&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: accumulated depreciation and amortization&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(21,876)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(17,802)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:22.5pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment, net&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,407&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,920&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Depreciation and amortization related to property and equipment was $2.5 million, $2.0 million, $4.7 million and $4.0 million in the three months ended June 30, 2021 and 2020 and the six months ended June 30, 2021 and 2020, respectively.&lt;/span&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81NS9mcmFnOjdkMDBjNTdhMjdmYjRhYzBiMmIzYjQxYTZhMDJhMzk3L3RleHRyZWdpb246N2QwMGM1N2EyN2ZiNGFjMGIyYjNiNDFhNmEwMmEzOTdfMjA5_a7eb4968-5874-4eb4-8ebe-1a5f98d218e8">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment, net consisted of the following:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;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.316%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.150%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.540%"/&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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30, 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December&#160;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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Computer software and equipment&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,677&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,930&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Furniture and fixtures&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,033&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 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,011&lt;/span&gt;&lt;/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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Leasehold improvements&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,229&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 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,210&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Right-of-use assets under finance leases&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,344&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 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,571&lt;/span&gt;&lt;/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 style="padding-left:22.5pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59,283&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 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,722&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: accumulated depreciation and amortization&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(21,876)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(17,802)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:22.5pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Property and equipment, net&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,407&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,920&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ie1470ba1b0754a618e3242193d0dd1d6_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81NS9mcmFnOjdkMDBjNTdhMjdmYjRhYzBiMmIzYjQxYTZhMDJhMzk3L3RhYmxlOjMxM2ZlOGEzNzZjNTRiMjc5NzU3ZGI3ODVlYTBhOTUyL3RhYmxlcmFuZ2U6MzEzZmU4YTM3NmM1NGIyNzk3NTdkYjc4NWVhMGE5NTJfMS0xLTEtMS0w_66986f6b-90cc-405d-a3ef-075c671b1b76"
      unitRef="usd">24677000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ic83940f720dd4c068ac95a96f4d27602_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81NS9mcmFnOjdkMDBjNTdhMjdmYjRhYzBiMmIzYjQxYTZhMDJhMzk3L3RhYmxlOjMxM2ZlOGEzNzZjNTRiMjc5NzU3ZGI3ODVlYTBhOTUyL3RhYmxlcmFuZ2U6MzEzZmU4YTM3NmM1NGIyNzk3NTdkYjc4NWVhMGE5NTJfMS0zLTEtMS0w_98bd6426-373c-483f-95bd-f9e464776151"
      unitRef="usd">22930000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i0f522e0de95f4c30b34e5a0deed6e6b9_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81NS9mcmFnOjdkMDBjNTdhMjdmYjRhYzBiMmIzYjQxYTZhMDJhMzk3L3RhYmxlOjMxM2ZlOGEzNzZjNTRiMjc5NzU3ZGI3ODVlYTBhOTUyL3RhYmxlcmFuZ2U6MzEzZmU4YTM3NmM1NGIyNzk3NTdkYjc4NWVhMGE5NTJfMi0xLTEtMS0w_cba17548-4e69-4436-9b54-c43c791b0d97"
      unitRef="usd">6033000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i0ee7dbb5875f4b2fa9e3253fa905c4ef_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81NS9mcmFnOjdkMDBjNTdhMjdmYjRhYzBiMmIzYjQxYTZhMDJhMzk3L3RhYmxlOjMxM2ZlOGEzNzZjNTRiMjc5NzU3ZGI3ODVlYTBhOTUyL3RhYmxlcmFuZ2U6MzEzZmU4YTM3NmM1NGIyNzk3NTdkYjc4NWVhMGE5NTJfMi0zLTEtMS0w_c8af4eea-d23e-478e-9339-6784b40749c1"
      unitRef="usd">6011000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="i09c47214a1e0470783cc2778acd7533d_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81NS9mcmFnOjdkMDBjNTdhMjdmYjRhYzBiMmIzYjQxYTZhMDJhMzk3L3RhYmxlOjMxM2ZlOGEzNzZjNTRiMjc5NzU3ZGI3ODVlYTBhOTUyL3RhYmxlcmFuZ2U6MzEzZmU4YTM3NmM1NGIyNzk3NTdkYjc4NWVhMGE5NTJfMy0xLTEtMS0w_b611a1aa-dd24-4047-a629-d821c1f32f69"
      unitRef="usd">27229000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:PropertyPlantAndEquipmentGross
      contextRef="ifd2cd4fba580457caee0ee9d0eed8914_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81NS9mcmFnOjdkMDBjNTdhMjdmYjRhYzBiMmIzYjQxYTZhMDJhMzk3L3RhYmxlOjMxM2ZlOGEzNzZjNTRiMjc5NzU3ZGI3ODVlYTBhOTUyL3RhYmxlcmFuZ2U6MzEzZmU4YTM3NmM1NGIyNzk3NTdkYjc4NWVhMGE5NTJfMy0zLTEtMS0w_c99a0065-9790-4e38-8573-6915896a3128"
      unitRef="usd">26210000</us-gaap:PropertyPlantAndEquipmentGross>
    <us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81NS9mcmFnOjdkMDBjNTdhMjdmYjRhYzBiMmIzYjQxYTZhMDJhMzk3L3RhYmxlOjMxM2ZlOGEzNzZjNTRiMjc5NzU3ZGI3ODVlYTBhOTUyL3RhYmxlcmFuZ2U6MzEzZmU4YTM3NmM1NGIyNzk3NTdkYjc4NWVhMGE5NTJfNC0xLTEtMS0w_4d1aac0e-7b1c-4712-b9ad-475f2d5cc7b6"
      unitRef="usd">1344000</us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81NS9mcmFnOjdkMDBjNTdhMjdmYjRhYzBiMmIzYjQxYTZhMDJhMzk3L3RhYmxlOjMxM2ZlOGEzNzZjNTRiMjc5NzU3ZGI3ODVlYTBhOTUyL3RhYmxlcmFuZ2U6MzEzZmU4YTM3NmM1NGIyNzk3NTdkYjc4NWVhMGE5NTJfNC0zLTEtMS0w_e737acd9-df5f-47fb-bd6c-e90ecf598c56"
      unitRef="usd">1571000</us-gaap:FinanceLeaseRightOfUseAssetBeforeAccumulatedAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81NS9mcmFnOjdkMDBjNTdhMjdmYjRhYzBiMmIzYjQxYTZhMDJhMzk3L3RhYmxlOjMxM2ZlOGEzNzZjNTRiMjc5NzU3ZGI3ODVlYTBhOTUyL3RhYmxlcmFuZ2U6MzEzZmU4YTM3NmM1NGIyNzk3NTdkYjc4NWVhMGE5NTJfNS0xLTEtMS0w_c31a35e0-25e4-4c2f-8237-e4f552325554"
      unitRef="usd">59283000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81NS9mcmFnOjdkMDBjNTdhMjdmYjRhYzBiMmIzYjQxYTZhMDJhMzk3L3RhYmxlOjMxM2ZlOGEzNzZjNTRiMjc5NzU3ZGI3ODVlYTBhOTUyL3RhYmxlcmFuZ2U6MzEzZmU4YTM3NmM1NGIyNzk3NTdkYjc4NWVhMGE5NTJfNS0zLTEtMS0w_db55ac1c-51d3-4ba5-bb12-3f92dac3bcf3"
      unitRef="usd">56722000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81NS9mcmFnOjdkMDBjNTdhMjdmYjRhYzBiMmIzYjQxYTZhMDJhMzk3L3RhYmxlOjMxM2ZlOGEzNzZjNTRiMjc5NzU3ZGI3ODVlYTBhOTUyL3RhYmxlcmFuZ2U6MzEzZmU4YTM3NmM1NGIyNzk3NTdkYjc4NWVhMGE5NTJfNi0xLTEtMS0w_96aa1622-80af-4ad7-9851-b5804130701b"
      unitRef="usd">21876000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81NS9mcmFnOjdkMDBjNTdhMjdmYjRhYzBiMmIzYjQxYTZhMDJhMzk3L3RhYmxlOjMxM2ZlOGEzNzZjNTRiMjc5NzU3ZGI3ODVlYTBhOTUyL3RhYmxlcmFuZ2U6MzEzZmU4YTM3NmM1NGIyNzk3NTdkYjc4NWVhMGE5NTJfNi0zLTEtMS0w_34043e48-0a47-48cc-9a6c-0c7220188c45"
      unitRef="usd">17802000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81NS9mcmFnOjdkMDBjNTdhMjdmYjRhYzBiMmIzYjQxYTZhMDJhMzk3L3RhYmxlOjMxM2ZlOGEzNzZjNTRiMjc5NzU3ZGI3ODVlYTBhOTUyL3RhYmxlcmFuZ2U6MzEzZmU4YTM3NmM1NGIyNzk3NTdkYjc4NWVhMGE5NTJfNy0xLTEtMS0w_2bce7d86-8f0e-4224-9f72-9d8ff0de074b"
      unitRef="usd">37407000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81NS9mcmFnOjdkMDBjNTdhMjdmYjRhYzBiMmIzYjQxYTZhMDJhMzk3L3RhYmxlOjMxM2ZlOGEzNzZjNTRiMjc5NzU3ZGI3ODVlYTBhOTUyL3RhYmxlcmFuZ2U6MzEzZmU4YTM3NmM1NGIyNzk3NTdkYjc4NWVhMGE5NTJfNy0zLTEtMS0w_c6434e6e-17d8-401a-8f5b-ff0aacc4d059"
      unitRef="usd">38920000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <tenb:DepreciationandAmortizationPropertyandEquipment
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81NS9mcmFnOjdkMDBjNTdhMjdmYjRhYzBiMmIzYjQxYTZhMDJhMzk3L3RleHRyZWdpb246N2QwMGM1N2EyN2ZiNGFjMGIyYjNiNDFhNmEwMmEzOTdfMTA5OTUxMTYyNzk5MQ_7e49148f-a514-4c5b-bdf7-c554b11a6e5e"
      unitRef="usd">2500000</tenb:DepreciationandAmortizationPropertyandEquipment>
    <tenb:DepreciationandAmortizationPropertyandEquipment
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81NS9mcmFnOjdkMDBjNTdhMjdmYjRhYzBiMmIzYjQxYTZhMDJhMzk3L3RleHRyZWdpb246N2QwMGM1N2EyN2ZiNGFjMGIyYjNiNDFhNmEwMmEzOTdfMTA5OTUxMTYyNzk5Ng_dd4583ac-8f94-45ba-bba9-573bd7295c65"
      unitRef="usd">2000000.0</tenb:DepreciationandAmortizationPropertyandEquipment>
    <tenb:DepreciationandAmortizationPropertyandEquipment
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81NS9mcmFnOjdkMDBjNTdhMjdmYjRhYzBiMmIzYjQxYTZhMDJhMzk3L3RleHRyZWdpb246N2QwMGM1N2EyN2ZiNGFjMGIyYjNiNDFhNmEwMmEzOTdfMTYy_cc19da25-e797-4b98-a19a-7f711dea4904"
      unitRef="usd">4700000</tenb:DepreciationandAmortizationPropertyandEquipment>
    <tenb:DepreciationandAmortizationPropertyandEquipment
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81NS9mcmFnOjdkMDBjNTdhMjdmYjRhYzBiMmIzYjQxYTZhMDJhMzk3L3RleHRyZWdpb246N2QwMGM1N2EyN2ZiNGFjMGIyYjNiNDFhNmEwMmEzOTdfMTY5_e9f1c546-608a-48a0-bff1-d87c30d44097"
      unitRef="usd">4000000.0</tenb:DepreciationandAmortizationPropertyandEquipment>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RleHRyZWdpb246YWI4MWNjNGM2NThjNDI1Y2JkYmMwODhkYzY0YjMzYWFfMzgx_17e959ff-ad01-47fd-92b1-10b3a1629c9a">Acquisition, Goodwill and Acquired Intangible Assets&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Business Combination&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In April 2021, we acquired Alsid SAS ("Alsid"), which expanded our product offerings to include active directory security. Active directory is the basis for managing user permissions across on-premises and hybrid cloud deployments and is foundational to the security of cloud workloads, security remote work, and adopting zero trust architectures. Through a share purchase agreement, we acquired 100% of Alsid's equity in exchange for cash consideration of $98.5 million, net of cash acquired of $3.3 million. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;When determining the fair value of assets acquired and liabilities assumed, a non-recurring level 3 fair value measurement, we make estimates and assumptions, especially with respect to intangible assets such as our identified acquired technology and trade name intangible assets. We determined the fair value of our acquired technology using the multi-period excess earnings method, a form of the income approach. Estimates in valuing identifiable intangible assets include, but are not limited to, projected revenue growth rates, future expected operating expenses, obsolescence projections and an appropriate discount rate. Our estimate of fair value is based upon assumptions we believe to be reasonable, but which are inherently uncertain and, as a result, actual results may differ from estimates. During the &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;measurement period, we may make adjustments to the fair value of assets acquired and liabilities assumed, with offsetting adjustments to goodwill. Any adjustments made after the measurement period will be reflected in the consolidated statements of operations. We are still finalizing the allocation of the purchase price, which may change as additional information becomes available related to acquired intangible assets, deferred revenue, income taxes and any working capital adjustments.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The cash consideration, net of cash acquired, was preliminarily allocated as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: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:80.427%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.373%"/&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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,105&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Prepaid expenses and other assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,304&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;72,291&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts payable, accrued expenses and 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,794)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,699)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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 9.25pt;text-align:left;text-indent:-9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax liabilities, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,118)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total purchase price allocation&lt;/span&gt;&lt;/div&gt;&lt;/td&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98,489&#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-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Acquired intangible assets and their estimated useful lives at the date of acquisition are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: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:49.455%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.344%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.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="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Intangible Assets&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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(dollars in thousands)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Estimated Useful Life&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired technology&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,300&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 3.25pt 0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trade name&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1 year&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The results of operations of Alsid are included in our consolidated statements of operations from the acquisition date and were not material. Pro forma results of operations are not presented as they are not material to the consolidated statements of operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In general and administrative expense, we recognized $1.5 million and $3.7 million in acquisition-related transaction costs in the three and six months ended June 30, 2021, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Goodwill and Acquired Intangible Assets&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The changes in the carrying amount of goodwill&#160;are as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:80.427%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December&#160;31, 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,414&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;72,291&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at June 30, 2021&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;126,705&#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-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The excess purchase consideration over the fair value of acquired assets and liabilities is recorded as goodwill. The acquired goodwill reflects the synergies we expect from marketing and selling new capabilities from Alsid to our customers. None of the acquired goodwill is tax deductible.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Acquired intangible assets subject to amortization are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;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:22.927%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.988%"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December&#160;31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Gross Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Accumulated Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Net Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Gross Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Accumulated Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Net Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired technology&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,625&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,138)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,487&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,325&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,224)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,101&#160;&lt;/span&gt;&lt;/td&gt;&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trade name&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;123&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(108)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;92&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,925&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,315)&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,610&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,525&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,332)&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,193&#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-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amortization of acquired intangible assets was $1.4 million, $0.6 million, $2.0 million and $1.2 million in the three months ended June 30, 2021 and 2020 and the six months ended June 30, 2021 and 2020, respectively. At June 30, 2021, our acquired intangible assets are expected to be amortized over an estimated weighted average period of 6.4 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At June 30, 2021, estimated future amortization of acquired intangible assets is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:80.427%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.373%"/&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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Year ending December 31,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,718&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,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;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,399&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,610&#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&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:6pt;font-weight:400;line-height:120%"&gt;_______________&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;(1)&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;Represents the six months ending December&#160;31, 2021.&lt;/span&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="i5d316a49946a4a09bc5898de66446200_D20210401-20210430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RleHRyZWdpb246YWI4MWNjNGM2NThjNDI1Y2JkYmMwODhkYzY0YjMzYWFfMTY0OTI2NzQ0NjU1Mw_1c17cea3-c27e-4fde-baec-af12314514c8"
      unitRef="usd">98500000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:CashAcquiredFromAcquisition
      contextRef="i5d316a49946a4a09bc5898de66446200_D20210401-20210430"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RleHRyZWdpb246YWI4MWNjNGM2NThjNDI1Y2JkYmMwODhkYzY0YjMzYWFfMTY0OTI2NzQ0NjU2Ng_574e2e99-068a-46bc-a3e7-96c0ece62d05"
      unitRef="usd">3300000</us-gaap:CashAcquiredFromAcquisition>
    <us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RleHRyZWdpb246YWI4MWNjNGM2NThjNDI1Y2JkYmMwODhkYzY0YjMzYWFfMjc0ODc3OTA3NDMyNg_821611ae-4857-4c1f-8a3f-f38a97f076ec">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The cash consideration, net of cash acquired, was preliminarily allocated as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: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:80.427%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.373%"/&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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,105&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Prepaid expenses and other assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,304&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;72,291&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts payable, accrued expenses and 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,794)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,699)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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 9.25pt;text-align:left;text-indent:-9pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax liabilities, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,118)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total purchase price allocation&lt;/span&gt;&lt;/div&gt;&lt;/td&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98,489&#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:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="ide9df2bb05e8419d9584ccc42ee7df92_I20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjUzOWFmZDRjOGMzZTQ1ZGNiOWUyMmY1NmVkODc5Yjc5L3RhYmxlcmFuZ2U6NTM5YWZkNGM4YzNlNDVkY2I5ZTIyZjU2ZWQ4NzliNzlfMS0xLTEtMS05NjU_c3722a69-f9c6-417e-85cc-034c3acdfac5"
      unitRef="usd">4105000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets
      contextRef="ide9df2bb05e8419d9584ccc42ee7df92_I20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjUzOWFmZDRjOGMzZTQ1ZGNiOWUyMmY1NmVkODc5Yjc5L3RhYmxlcmFuZ2U6NTM5YWZkNGM4YzNlNDVkY2I5ZTIyZjU2ZWQ4NzliNzlfMi0xLTEtMS0zMjg1_21f5b81c-bcb8-47be-bb58-24e0b4de0dc9"
      unitRef="usd">2304000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="ide9df2bb05e8419d9584ccc42ee7df92_I20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjUzOWFmZDRjOGMzZTQ1ZGNiOWUyMmY1NmVkODc5Yjc5L3RhYmxlcmFuZ2U6NTM5YWZkNGM4YzNlNDVkY2I5ZTIyZjU2ZWQ4NzliNzlfNC0xLTEtMS0xMTQ4_c6ad3369-1190-47d9-aaf9-559227bff7db"
      unitRef="usd">31400000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:Goodwill
      contextRef="ide9df2bb05e8419d9584ccc42ee7df92_I20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjUzOWFmZDRjOGMzZTQ1ZGNiOWUyMmY1NmVkODc5Yjc5L3RhYmxlcmFuZ2U6NTM5YWZkNGM4YzNlNDVkY2I5ZTIyZjU2ZWQ4NzliNzlfNS0xLTEtMS0xMTQ4_13af57ee-1cec-4744-a930-80a0073f62be"
      unitRef="usd">72291000</us-gaap:Goodwill>
    <tenb:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAccruedLiabilitiesAndAccruedCompensation
      contextRef="ide9df2bb05e8419d9584ccc42ee7df92_I20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjUzOWFmZDRjOGMzZTQ1ZGNiOWUyMmY1NmVkODc5Yjc5L3RhYmxlcmFuZ2U6NTM5YWZkNGM4YzNlNDVkY2I5ZTIyZjU2ZWQ4NzliNzlfNS0xLTEtMS0zMjkx_d1a4779f-224b-4b18-ad48-6f59e383c201"
      unitRef="usd">3794000</tenb:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccountsPayableAccruedLiabilitiesAndAccruedCompensation>
    <tenb:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesDeferredRevenue
      contextRef="ide9df2bb05e8419d9584ccc42ee7df92_I20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjUzOWFmZDRjOGMzZTQ1ZGNiOWUyMmY1NmVkODc5Yjc5L3RhYmxlcmFuZ2U6NTM5YWZkNGM4YzNlNDVkY2I5ZTIyZjU2ZWQ4NzliNzlfNS0xLTEtMS0yNzI0_9fae15f5-93cb-4c2e-8a0f-5eb419d43a9a"
      unitRef="usd">3699000</tenb:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilitiesDeferredRevenue>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities
      contextRef="ide9df2bb05e8419d9584ccc42ee7df92_I20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjUzOWFmZDRjOGMzZTQ1ZGNiOWUyMmY1NmVkODc5Yjc5L3RhYmxlcmFuZ2U6NTM5YWZkNGM4YzNlNDVkY2I5ZTIyZjU2ZWQ4NzliNzlfNS0xLTEtMS0yNzIw_0d911da2-7349-4b8a-82b6-da8ce73453c4"
      unitRef="usd">4118000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet
      contextRef="ide9df2bb05e8419d9584ccc42ee7df92_I20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjUzOWFmZDRjOGMzZTQ1ZGNiOWUyMmY1NmVkODc5Yjc5L3RhYmxlcmFuZ2U6NTM5YWZkNGM4YzNlNDVkY2I5ZTIyZjU2ZWQ4NzliNzlfNi0xLTEtMS05NTc_5b2c4058-d054-4efa-a0d6-c3a7342ecb67"
      unitRef="usd">98489000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet>
    <us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RleHRyZWdpb246YWI4MWNjNGM2NThjNDI1Y2JkYmMwODhkYzY0YjMzYWFfMjc0ODc3OTA3NDMyNQ_3d6f0580-f27c-4bdf-b41f-6d6eb965a473">&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Acquired intangible assets and their estimated useful lives at the date of acquisition are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: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:49.455%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.344%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.355%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.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="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Intangible Assets&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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(dollars in thousands)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Estimated Useful Life&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired technology&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,300&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 3.25pt 0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trade name&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1 year&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAcquiredFiniteLivedIntangibleAssetsByMajorClassTextBlock>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="i0ad098875f74422983e417fdf522f46a_D20210401-20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOmUxNDUwYWM1N2ZmNDRkODE4MGExZWMzOTg5MjJmOTM3L3RhYmxlcmFuZ2U6ZTE0NTBhYzU3ZmY0NGQ4MTgwYTFlYzM5ODkyMmY5MzdfMi0xLTEtMS0xMTYx_277a3b2e-c0fd-4362-8bc1-892ea6f94fce"
      unitRef="usd">31300000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="i0ad098875f74422983e417fdf522f46a_D20210401-20210430"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOmUxNDUwYWM1N2ZmNDRkODE4MGExZWMzOTg5MjJmOTM3L3RhYmxlcmFuZ2U6ZTE0NTBhYzU3ZmY0NGQ4MTgwYTFlYzM5ODkyMmY5MzdfMi0zLTEtMS0xMTYx_8577c284-2749-4d32-8035-bce9b359c5d8">P7Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="id59503e46ee342339770365ffe200668_D20210401-20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOmUxNDUwYWM1N2ZmNDRkODE4MGExZWMzOTg5MjJmOTM3L3RhYmxlcmFuZ2U6ZTE0NTBhYzU3ZmY0NGQ4MTgwYTFlYzM5ODkyMmY5MzdfMy0xLTEtMS0xMTYx_579414c6-84e6-4a94-9b26-4b483a0a0481"
      unitRef="usd">100000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="id59503e46ee342339770365ffe200668_D20210401-20210430"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOmUxNDUwYWM1N2ZmNDRkODE4MGExZWMzOTg5MjJmOTM3L3RhYmxlcmFuZ2U6ZTE0NTBhYzU3ZmY0NGQ4MTgwYTFlYzM5ODkyMmY5MzdfMy0zLTEtMS0xMTYx_8bfa3271-7f25-4248-8d96-1e0978e9dd74">P1Y</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:FinitelivedIntangibleAssetsAcquired1
      contextRef="i1ea36dfc91f049a78369bcda5b0e913b_D20210401-20210430"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOmUxNDUwYWM1N2ZmNDRkODE4MGExZWMzOTg5MjJmOTM3L3RhYmxlcmFuZ2U6ZTE0NTBhYzU3ZmY0NGQ4MTgwYTFlYzM5ODkyMmY5MzdfNC0xLTEtMS0xMTYx_3dafc12a-0658-4e12-9c93-62ba2e2b3bb2"
      unitRef="usd">31400000</us-gaap:FinitelivedIntangibleAssetsAcquired1>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RleHRyZWdpb246YWI4MWNjNGM2NThjNDI1Y2JkYmMwODhkYzY0YjMzYWFfOTM0NTg0ODg1MjQ3NA_3213da2a-2eab-42ba-a05f-b97e3d57cce5"
      unitRef="usd">1500000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RleHRyZWdpb246YWI4MWNjNGM2NThjNDI1Y2JkYmMwODhkYzY0YjMzYWFfOTM0NTg0ODg1MjU2Ng_5a2734d3-50a0-49bb-bf3e-4379847cc015"
      unitRef="usd">3700000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:ScheduleOfGoodwillTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RleHRyZWdpb246YWI4MWNjNGM2NThjNDI1Y2JkYmMwODhkYzY0YjMzYWFfMjc0ODc3OTA3NTc5Mg_dcd96b65-c590-4816-bdec-d526f61c14c9">&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The changes in the carrying amount of goodwill&#160;are as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:80.427%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.373%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at December&#160;31, 2020&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,414&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;72,291&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance at June 30, 2021&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;126,705&#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:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOmM3YTk0YjE0MzRkZjQxOTc4NTNjODkzYWFhMWEyYzQwL3RhYmxlcmFuZ2U6YzdhOTRiMTQzNGRmNDE5Nzg1M2M4OTNhYWExYTJjNDBfMS0xLTEtMS0xNTAz_3a0d54cf-9903-4461-98e5-3df35e44974c"
      unitRef="usd">54414000</us-gaap:Goodwill>
    <us-gaap:GoodwillAcquiredDuringPeriod
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOmM3YTk0YjE0MzRkZjQxOTc4NTNjODkzYWFhMWEyYzQwL3RhYmxlcmFuZ2U6YzdhOTRiMTQzNGRmNDE5Nzg1M2M4OTNhYWExYTJjNDBfMi0xLTEtMS0xNTAz_bb941409-732b-41fc-be1f-770b7fb635f7"
      unitRef="usd">72291000</us-gaap:GoodwillAcquiredDuringPeriod>
    <us-gaap:Goodwill
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOmM3YTk0YjE0MzRkZjQxOTc4NTNjODkzYWFhMWEyYzQwL3RhYmxlcmFuZ2U6YzdhOTRiMTQzNGRmNDE5Nzg1M2M4OTNhYWExYTJjNDBfMy0xLTEtMS0yMTYz_04827025-5ee4-4421-a8a2-7ee2a794092b"
      unitRef="usd">126705000</us-gaap:Goodwill>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RleHRyZWdpb246YWI4MWNjNGM2NThjNDI1Y2JkYmMwODhkYzY0YjMzYWFfMzc5_83e54752-d24a-42f6-959e-0208f6a24128">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Acquired intangible assets subject to amortization are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;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:22.927%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.988%"/&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December&#160;31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Gross Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Accumulated Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Net Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Gross Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Accumulated Amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Net Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Acquired technology&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,625&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,138)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,487&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,325&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,224)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,101&#160;&lt;/span&gt;&lt;/td&gt;&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Trade name&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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 colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;123&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(108)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;92&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,925&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,315)&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,610&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,525&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,332)&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,193&#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:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ic57874e749db419988ef11ffa848ee3b_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjViOTViZWFlZDJjOTQ1ZjBiZmQzMTFhMzY1Y2YxZTIzL3RhYmxlcmFuZ2U6NWI5NWJlYWVkMmM5NDVmMGJmZDMxMWEzNjVjZjFlMjNfMi0xLTEtMS0w_c80a5914-24d5-48ef-990f-902ba6737643"
      unitRef="usd">48625000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ic57874e749db419988ef11ffa848ee3b_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjViOTViZWFlZDJjOTQ1ZjBiZmQzMTFhMzY1Y2YxZTIzL3RhYmxlcmFuZ2U6NWI5NWJlYWVkMmM5NDVmMGJmZDMxMWEzNjVjZjFlMjNfMi0zLTEtMS0w_fcea452b-8c7f-4452-a7f4-476755e0b07d"
      unitRef="usd">6138000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ic57874e749db419988ef11ffa848ee3b_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjViOTViZWFlZDJjOTQ1ZjBiZmQzMTFhMzY1Y2YxZTIzL3RhYmxlcmFuZ2U6NWI5NWJlYWVkMmM5NDVmMGJmZDMxMWEzNjVjZjFlMjNfMi01LTEtMS0w_87d85405-3e56-4cca-b25d-d5a3653dfffe"
      unitRef="usd">42487000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i852241fc9fe44215996ba2c5a6f055cc_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjViOTViZWFlZDJjOTQ1ZjBiZmQzMTFhMzY1Y2YxZTIzL3RhYmxlcmFuZ2U6NWI5NWJlYWVkMmM5NDVmMGJmZDMxMWEzNjVjZjFlMjNfMi03LTEtMS0w_09a95a87-6e41-4500-bd91-84b02034b32e"
      unitRef="usd">17325000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i852241fc9fe44215996ba2c5a6f055cc_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjViOTViZWFlZDJjOTQ1ZjBiZmQzMTFhMzY1Y2YxZTIzL3RhYmxlcmFuZ2U6NWI5NWJlYWVkMmM5NDVmMGJmZDMxMWEzNjVjZjFlMjNfMi05LTEtMS0w_77f69507-22a4-4f26-b508-6948abeba0ce"
      unitRef="usd">4224000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i852241fc9fe44215996ba2c5a6f055cc_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjViOTViZWFlZDJjOTQ1ZjBiZmQzMTFhMzY1Y2YxZTIzL3RhYmxlcmFuZ2U6NWI5NWJlYWVkMmM5NDVmMGJmZDMxMWEzNjVjZjFlMjNfMi0xMS0xLTEtMA_2337f654-db20-4cb5-a61a-402774ec6fa6"
      unitRef="usd">13101000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i9b47743a82074be39123578c5d36a6d3_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjViOTViZWFlZDJjOTQ1ZjBiZmQzMTFhMzY1Y2YxZTIzL3RhYmxlcmFuZ2U6NWI5NWJlYWVkMmM5NDVmMGJmZDMxMWEzNjVjZjFlMjNfMy0xLTEtMS0w_52385bf8-a204-4ee2-a3ed-b3b346f9b445"
      unitRef="usd">300000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i9b47743a82074be39123578c5d36a6d3_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjViOTViZWFlZDJjOTQ1ZjBiZmQzMTFhMzY1Y2YxZTIzL3RhYmxlcmFuZ2U6NWI5NWJlYWVkMmM5NDVmMGJmZDMxMWEzNjVjZjFlMjNfMy0zLTEtMS0w_1c373c6c-746f-48c0-95c8-06b8c215d667"
      unitRef="usd">177000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i9b47743a82074be39123578c5d36a6d3_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjViOTViZWFlZDJjOTQ1ZjBiZmQzMTFhMzY1Y2YxZTIzL3RhYmxlcmFuZ2U6NWI5NWJlYWVkMmM5NDVmMGJmZDMxMWEzNjVjZjFlMjNfMy01LTEtMS0w_6ba698b7-2a04-4736-b24c-341b8b92739d"
      unitRef="usd">123000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ie1f4034bb431481393a681a384c1b71a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjViOTViZWFlZDJjOTQ1ZjBiZmQzMTFhMzY1Y2YxZTIzL3RhYmxlcmFuZ2U6NWI5NWJlYWVkMmM5NDVmMGJmZDMxMWEzNjVjZjFlMjNfMy03LTEtMS0w_95ff12a5-2d73-42e8-b208-3cb04b21f2f5"
      unitRef="usd">200000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ie1f4034bb431481393a681a384c1b71a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjViOTViZWFlZDJjOTQ1ZjBiZmQzMTFhMzY1Y2YxZTIzL3RhYmxlcmFuZ2U6NWI5NWJlYWVkMmM5NDVmMGJmZDMxMWEzNjVjZjFlMjNfMy05LTEtMS0w_c7c50a35-b84b-4737-9fcf-9ac45d73697e"
      unitRef="usd">108000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ie1f4034bb431481393a681a384c1b71a_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjViOTViZWFlZDJjOTQ1ZjBiZmQzMTFhMzY1Y2YxZTIzL3RhYmxlcmFuZ2U6NWI5NWJlYWVkMmM5NDVmMGJmZDMxMWEzNjVjZjFlMjNfMy0xMS0xLTEtMA_19f8428b-9ca5-4f40-971f-096f99a6db4a"
      unitRef="usd">92000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjViOTViZWFlZDJjOTQ1ZjBiZmQzMTFhMzY1Y2YxZTIzL3RhYmxlcmFuZ2U6NWI5NWJlYWVkMmM5NDVmMGJmZDMxMWEzNjVjZjFlMjNfNC0xLTEtMS0w_238100be-d6cd-496b-a008-d75137f5021f"
      unitRef="usd">48925000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjViOTViZWFlZDJjOTQ1ZjBiZmQzMTFhMzY1Y2YxZTIzL3RhYmxlcmFuZ2U6NWI5NWJlYWVkMmM5NDVmMGJmZDMxMWEzNjVjZjFlMjNfNC0zLTEtMS0w_13bb7033-5b05-4ce1-9493-c6745206517b"
      unitRef="usd">6315000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjViOTViZWFlZDJjOTQ1ZjBiZmQzMTFhMzY1Y2YxZTIzL3RhYmxlcmFuZ2U6NWI5NWJlYWVkMmM5NDVmMGJmZDMxMWEzNjVjZjFlMjNfNC01LTEtMS0w_c6e5a064-ef66-4a1e-87ac-0a43f151b646"
      unitRef="usd">42610000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjViOTViZWFlZDJjOTQ1ZjBiZmQzMTFhMzY1Y2YxZTIzL3RhYmxlcmFuZ2U6NWI5NWJlYWVkMmM5NDVmMGJmZDMxMWEzNjVjZjFlMjNfNC03LTEtMS0w_2800a8de-4426-4920-8674-3f835b39ffee"
      unitRef="usd">17525000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjViOTViZWFlZDJjOTQ1ZjBiZmQzMTFhMzY1Y2YxZTIzL3RhYmxlcmFuZ2U6NWI5NWJlYWVkMmM5NDVmMGJmZDMxMWEzNjVjZjFlMjNfNC05LTEtMS0w_810acbdc-9e60-4da9-a854-d0dc04266acd"
      unitRef="usd">4332000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjViOTViZWFlZDJjOTQ1ZjBiZmQzMTFhMzY1Y2YxZTIzL3RhYmxlcmFuZ2U6NWI5NWJlYWVkMmM5NDVmMGJmZDMxMWEzNjVjZjFlMjNfNC0xMS0xLTEtMA_6acf53ad-b087-4896-81f3-cbf2111eb646"
      unitRef="usd">13193000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RleHRyZWdpb246YWI4MWNjNGM2NThjNDI1Y2JkYmMwODhkYzY0YjMzYWFfMTA5OTUxMTYyODE2NQ_ab663cb3-881d-429a-8c2a-36f5e8f8e043"
      unitRef="usd">1400000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RleHRyZWdpb246YWI4MWNjNGM2NThjNDI1Y2JkYmMwODhkYzY0YjMzYWFfMTA5OTUxMTYyODE3MA_604accff-b7f2-4fcf-bcfb-2ad578a612b8"
      unitRef="usd">600000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RleHRyZWdpb246YWI4MWNjNGM2NThjNDI1Y2JkYmMwODhkYzY0YjMzYWFfMjA3_226f1b66-1008-43be-9479-64fb312b3161"
      unitRef="usd">2000000.0</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RleHRyZWdpb246YWI4MWNjNGM2NThjNDI1Y2JkYmMwODhkYzY0YjMzYWFfMTA5OTUxMTYyODE4MA_9da4bc21-032c-47b3-b148-19461325e7fb"
      unitRef="usd">1200000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RleHRyZWdpb246YWI4MWNjNGM2NThjNDI1Y2JkYmMwODhkYzY0YjMzYWFfMzg0ODI5MDcxMzQ2NQ_52ed0de0-5993-48bf-9ef6-f9cb2b71c80b">P6Y4M24D</us-gaap:AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RleHRyZWdpb246YWI4MWNjNGM2NThjNDI1Y2JkYmMwODhkYzY0YjMzYWFfMzc2_259d2564-6757-4316-bc4f-b527ce9605db">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At June 30, 2021, estimated future amortization of acquired intangible assets is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:80.427%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.373%"/&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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Year ending December 31,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,718&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,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;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,399&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,610&#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&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:6pt;font-weight:400;line-height:120%"&gt;_______________&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;(1)&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;Represents the six months ending December&#160;31, 2021.&lt;/span&gt;&lt;/div&gt;</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjViNmJlNmE3MmEwNzQ2MjJhNzA5MDA4NDg1NTIwZTY4L3RhYmxlcmFuZ2U6NWI2YmU2YTcyYTA3NDYyMmE3MDkwMDg0ODU1MjBlNjhfMi0xLTEtMS0w_b7ba2080-aa6d-48d1-b85b-4cabc015531d"
      unitRef="usd">3435000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjViNmJlNmE3MmEwNzQ2MjJhNzA5MDA4NDg1NTIwZTY4L3RhYmxlcmFuZ2U6NWI2YmU2YTcyYTA3NDYyMmE3MDkwMDg0ODU1MjBlNjhfMy0xLTEtMS0w_7b58038f-7e96-437c-b8ab-fd751423a23e"
      unitRef="usd">6718000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjViNmJlNmE3MmEwNzQ2MjJhNzA5MDA4NDg1NTIwZTY4L3RhYmxlcmFuZ2U6NWI2YmU2YTcyYTA3NDYyMmE3MDkwMDg0ODU1MjBlNjhfNC0xLTEtMS0w_e2bd82df-64f1-49d4-99b5-cd6088cd63f2"
      unitRef="usd">6686000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjViNmJlNmE3MmEwNzQ2MjJhNzA5MDA4NDg1NTIwZTY4L3RhYmxlcmFuZ2U6NWI2YmU2YTcyYTA3NDYyMmE3MDkwMDg0ODU1MjBlNjhfNS0xLTEtMS0w_e7f5970e-c681-4db5-bbf1-5cc85d8a6a1e"
      unitRef="usd">6686000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjViNmJlNmE3MmEwNzQ2MjJhNzA5MDA4NDg1NTIwZTY4L3RhYmxlcmFuZ2U6NWI2YmU2YTcyYTA3NDYyMmE3MDkwMDg0ODU1MjBlNjhfNi0xLTEtMS0w_7ab9b140-03de-4a66-8e60-cb1f20282f0b"
      unitRef="usd">6686000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <tenb:FiniteLivedIntangibleAssetExpectedAmortizationafterYearFour
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjViNmJlNmE3MmEwNzQ2MjJhNzA5MDA4NDg1NTIwZTY4L3RhYmxlcmFuZ2U6NWI2YmU2YTcyYTA3NDYyMmE3MDkwMDg0ODU1MjBlNjhfNy0xLTEtMS0w_d08879ac-c0fb-411c-8fb8-b2a89eff4bd6"
      unitRef="usd">12399000</tenb:FiniteLivedIntangibleAssetExpectedAmortizationafterYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsNet
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF81OC9mcmFnOmFiODFjYzRjNjU4YzQyNWNiZGJjMDg4ZGM2NGIzM2FhL3RhYmxlOjViNmJlNmE3MmEwNzQ2MjJhNzA5MDA4NDg1NTIwZTY4L3RhYmxlcmFuZ2U6NWI2YmU2YTcyYTA3NDYyMmE3MDkwMDg0ODU1MjBlNjhfOC0xLTEtMS0w_62a1a626-ac30-4b5f-9d6b-b725b5771449"
      unitRef="usd">42610000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RleHRyZWdpb246N2Q4ZDI5ODlmNzBjNDQ2ZDg3NDU5MTc5N2E3ZGMzMDVfNTI4_6682b544-5bf8-4783-96c5-28bd96c39a52">Leases&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have operating leases for office facilities and finance leases for office equipment. The components of lease expense were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:48.483%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.986%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30,&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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,907&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,327&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,776&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,811&#160;&lt;/span&gt;&lt;/td&gt;&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 style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance lease cost&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:11.25pt;padding-right:4.5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of ROU assets&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;76&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size: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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;186&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:11.25pt;padding-right:4.5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest on lease liabilities&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total finance lease cost&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;77&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;189&#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-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Rent expense for short-term leases in the three and six months ended June 30, 2021 and 2020 was not material.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental information related to leases was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.927%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.541%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30, 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December&#160;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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/div&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;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average remaining lease term&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9.9 years&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 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.0 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average discount rate&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.6%&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 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.6%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the three and six months ended June 30, 2021, we did not obtain any right of use assets in exchange for lease liabilities. During the three and six months ended June 30, 2020, we obtained $0.7 million of right of use assets related to operating lease liabilities.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Maturities of operating lease liabilities at June 30, 2021 were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:86.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.539%"/&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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Year ending December 31,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,419&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,017&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,689&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,843&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,405&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,499&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease payments&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;76,872&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Imputed interest&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(19,489)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/div&gt;&lt;/td&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,383&#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&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:6pt;font-weight:400;line-height:120%"&gt;_______________&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;(1)&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;Represents the six months ending December&#160;31, 2021.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LesseeFinanceLeasesTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RleHRyZWdpb246N2Q4ZDI5ODlmNzBjNDQ2ZDg3NDU5MTc5N2E3ZGMzMDVfNTM4_5eb3a391-9142-4e1e-b6fb-bd742a3b73af">Leases&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have operating leases for office facilities and finance leases for office equipment. The components of lease expense were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:48.483%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.986%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30,&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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,907&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,327&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,776&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,811&#160;&lt;/span&gt;&lt;/td&gt;&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 style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance lease cost&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:11.25pt;padding-right:4.5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of ROU assets&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;76&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size: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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;186&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:11.25pt;padding-right:4.5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest on lease liabilities&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total finance lease cost&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;77&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;189&#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-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Rent expense for short-term leases in the three and six months ended June 30, 2021 and 2020 was not material.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental information related to leases was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.927%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.541%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30, 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December&#160;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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/div&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;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average remaining lease term&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9.9 years&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 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.0 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average discount rate&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.6%&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 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.6%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the three and six months ended June 30, 2021, we did not obtain any right of use assets in exchange for lease liabilities. During the three and six months ended June 30, 2020, we obtained $0.7 million of right of use assets related to operating lease liabilities.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Maturities of operating lease liabilities at June 30, 2021 were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:86.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.539%"/&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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Year ending December 31,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,419&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,017&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,689&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,843&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,405&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,499&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease payments&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;76,872&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Imputed interest&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(19,489)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/div&gt;&lt;/td&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,383&#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&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:6pt;font-weight:400;line-height:120%"&gt;_______________&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;(1)&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;Represents the six months ending December&#160;31, 2021.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeFinanceLeasesTextBlock>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RleHRyZWdpb246N2Q4ZDI5ODlmNzBjNDQ2ZDg3NDU5MTc5N2E3ZGMzMDVfNTI5_3c2d7c70-efd1-43d5-9af0-10eb7b1e007e">The components of lease expense were 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:48.483%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.986%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30,&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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,907&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,327&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,776&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,811&#160;&lt;/span&gt;&lt;/td&gt;&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 style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Finance lease cost&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:11.25pt;padding-right:4.5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of ROU assets&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;76&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size: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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;186&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:11.25pt;padding-right:4.5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest on lease liabilities&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total finance lease cost&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;77&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;189&#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 style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental information related to leases was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.927%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.538%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.541%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30, 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December&#160;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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/div&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;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average remaining lease term&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9.9 years&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 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10.0 years&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average discount rate&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.6%&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 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.6%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RhYmxlOmUyYTg2M2JlOWIyNjQ5YmJhMGYwM2NkZWEyY2VhMjQwL3RhYmxlcmFuZ2U6ZTJhODYzYmU5YjI2NDliYmEwZjAzY2RlYTJjZWEyNDBfMi0xLTEtMS0yMTc_1c811199-5cd8-4da8-8c30-f15c8276ff4c"
      unitRef="usd">1907000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RhYmxlOmUyYTg2M2JlOWIyNjQ5YmJhMGYwM2NkZWEyY2VhMjQwL3RhYmxlcmFuZ2U6ZTJhODYzYmU5YjI2NDliYmEwZjAzY2RlYTJjZWEyNDBfMi0zLTEtMS0yMTc_0fa6148a-2a42-46c4-8a52-3b201c09544d"
      unitRef="usd">2327000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RhYmxlOmUyYTg2M2JlOWIyNjQ5YmJhMGYwM2NkZWEyY2VhMjQwL3RhYmxlcmFuZ2U6ZTJhODYzYmU5YjI2NDliYmEwZjAzY2RlYTJjZWEyNDBfMi01LTEtMS0yMTc_5ae5a83b-6879-4e23-9005-227f191dfec6"
      unitRef="usd">3776000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RhYmxlOmUyYTg2M2JlOWIyNjQ5YmJhMGYwM2NkZWEyY2VhMjQwL3RhYmxlcmFuZ2U6ZTJhODYzYmU5YjI2NDliYmEwZjAzY2RlYTJjZWEyNDBfMi03LTEtMS0yMTc_0c3c0d79-6039-452f-aaf9-b4b4754941db"
      unitRef="usd">4811000</us-gaap:OperatingLeaseCost>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RhYmxlOmUyYTg2M2JlOWIyNjQ5YmJhMGYwM2NkZWEyY2VhMjQwL3RhYmxlcmFuZ2U6ZTJhODYzYmU5YjI2NDliYmEwZjAzY2RlYTJjZWEyNDBfNS0xLTEtMS0yMTc_d45e9042-3019-4aa1-9116-be53a6e505b4"
      unitRef="usd">2000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RhYmxlOmUyYTg2M2JlOWIyNjQ5YmJhMGYwM2NkZWEyY2VhMjQwL3RhYmxlcmFuZ2U6ZTJhODYzYmU5YjI2NDliYmEwZjAzY2RlYTJjZWEyNDBfNS0zLTEtMS0yMTc_2c9b8105-8e43-4c80-bf50-64d36182f488"
      unitRef="usd">76000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RhYmxlOmUyYTg2M2JlOWIyNjQ5YmJhMGYwM2NkZWEyY2VhMjQwL3RhYmxlcmFuZ2U6ZTJhODYzYmU5YjI2NDliYmEwZjAzY2RlYTJjZWEyNDBfNS01LTEtMS0yMTc_d8e6d82e-23a1-4332-8496-d720219f64ea"
      unitRef="usd">4000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseRightOfUseAssetAmortization
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RhYmxlOmUyYTg2M2JlOWIyNjQ5YmJhMGYwM2NkZWEyY2VhMjQwL3RhYmxlcmFuZ2U6ZTJhODYzYmU5YjI2NDliYmEwZjAzY2RlYTJjZWEyNDBfNS03LTEtMS0yMTc_4eae361e-928b-4275-953a-a0ca6a7ed3f6"
      unitRef="usd">186000</us-gaap:FinanceLeaseRightOfUseAssetAmortization>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RhYmxlOmUyYTg2M2JlOWIyNjQ5YmJhMGYwM2NkZWEyY2VhMjQwL3RhYmxlcmFuZ2U6ZTJhODYzYmU5YjI2NDliYmEwZjAzY2RlYTJjZWEyNDBfNi0xLTEtMS0yMTc_5e7f03e0-6702-49d2-9ca8-c539ab4c4cc3"
      unitRef="usd">2000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RhYmxlOmUyYTg2M2JlOWIyNjQ5YmJhMGYwM2NkZWEyY2VhMjQwL3RhYmxlcmFuZ2U6ZTJhODYzYmU5YjI2NDliYmEwZjAzY2RlYTJjZWEyNDBfNi0zLTEtMS0yMTc_2f9dea2e-abfe-4bc8-8f1d-c780089d71bd"
      unitRef="usd">1000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RhYmxlOmUyYTg2M2JlOWIyNjQ5YmJhMGYwM2NkZWEyY2VhMjQwL3RhYmxlcmFuZ2U6ZTJhODYzYmU5YjI2NDliYmEwZjAzY2RlYTJjZWEyNDBfNi01LTEtMS0yMTc_6b351a36-cb3a-4590-8fe9-a6c426a5ef15"
      unitRef="usd">3000</us-gaap:FinanceLeaseInterestExpense>
    <us-gaap:FinanceLeaseInterestExpense
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RhYmxlOmUyYTg2M2JlOWIyNjQ5YmJhMGYwM2NkZWEyY2VhMjQwL3RhYmxlcmFuZ2U6ZTJhODYzYmU5YjI2NDliYmEwZjAzY2RlYTJjZWEyNDBfNi03LTEtMS0yMTc_ea408847-7711-4682-a15a-4002641d3807"
      unitRef="usd">3000</us-gaap:FinanceLeaseInterestExpense>
    <tenb:FinanceLeaseCost
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RhYmxlOmUyYTg2M2JlOWIyNjQ5YmJhMGYwM2NkZWEyY2VhMjQwL3RhYmxlcmFuZ2U6ZTJhODYzYmU5YjI2NDliYmEwZjAzY2RlYTJjZWEyNDBfNy0xLTEtMS03MTg_48fee43d-e119-4633-be3d-c14bcaeefce4"
      unitRef="usd">4000</tenb:FinanceLeaseCost>
    <tenb:FinanceLeaseCost
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RhYmxlOmUyYTg2M2JlOWIyNjQ5YmJhMGYwM2NkZWEyY2VhMjQwL3RhYmxlcmFuZ2U6ZTJhODYzYmU5YjI2NDliYmEwZjAzY2RlYTJjZWEyNDBfNy0zLTEtMS03MTg_da8bf0c1-2b3e-4ac6-92ad-f6c4a5353962"
      unitRef="usd">77000</tenb:FinanceLeaseCost>
    <tenb:FinanceLeaseCost
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RhYmxlOmUyYTg2M2JlOWIyNjQ5YmJhMGYwM2NkZWEyY2VhMjQwL3RhYmxlcmFuZ2U6ZTJhODYzYmU5YjI2NDliYmEwZjAzY2RlYTJjZWEyNDBfNy01LTEtMS03MTg_18ee0a62-a16e-4642-ad71-d9edf0da6dc1"
      unitRef="usd">7000</tenb:FinanceLeaseCost>
    <tenb:FinanceLeaseCost
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RhYmxlOmUyYTg2M2JlOWIyNjQ5YmJhMGYwM2NkZWEyY2VhMjQwL3RhYmxlcmFuZ2U6ZTJhODYzYmU5YjI2NDliYmEwZjAzY2RlYTJjZWEyNDBfNy03LTEtMS03MTg_4b5bfb59-df5d-45e9-a3e2-0466ab4abe8a"
      unitRef="usd">189000</tenb:FinanceLeaseCost>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RhYmxlOjQxMGUxY2U3ZjkzMjQ1NDM4NWRmNTNjNTFjODIxNWY2L3RhYmxlcmFuZ2U6NDEwZTFjZTdmOTMyNDU0Mzg1ZGY1M2M1MWM4MjE1ZjZfMi0xLTEtMS0w_a281a04a-71f3-47ae-937b-5672d6b50141">P9Y10M24D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RhYmxlOjQxMGUxY2U3ZjkzMjQ1NDM4NWRmNTNjNTFjODIxNWY2L3RhYmxlcmFuZ2U6NDEwZTFjZTdmOTMyNDU0Mzg1ZGY1M2M1MWM4MjE1ZjZfMi0zLTEtMS0w_0a1f1b50-1159-43fd-a6c7-82365c985f49">P10Y</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RhYmxlOjQxMGUxY2U3ZjkzMjQ1NDM4NWRmNTNjNTFjODIxNWY2L3RhYmxlcmFuZ2U6NDEwZTFjZTdmOTMyNDU0Mzg1ZGY1M2M1MWM4MjE1ZjZfMy0xLTEtMS0w_5c6c01be-8310-4fdb-be1b-73c45d5586ea"
      unitRef="number">0.056</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RhYmxlOjQxMGUxY2U3ZjkzMjQ1NDM4NWRmNTNjNTFjODIxNWY2L3RhYmxlcmFuZ2U6NDEwZTFjZTdmOTMyNDU0Mzg1ZGY1M2M1MWM4MjE1ZjZfMy0zLTEtMS0w_e94e781e-7c53-499c-b72a-45b10d0f8474"
      unitRef="number">0.056</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RleHRyZWdpb246N2Q4ZDI5ODlmNzBjNDQ2ZDg3NDU5MTc5N2E3ZGMzMDVfMjc0ODc3OTA3MDQ4MQ_bf454caf-164a-4db6-b250-3532efe498f8"
      unitRef="usd">0</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RleHRyZWdpb246N2Q4ZDI5ODlmNzBjNDQ2ZDg3NDU5MTc5N2E3ZGMzMDVfMjc0ODc3OTA3MDQ4MQ_c7ec966d-17e5-49bb-acbe-bfd128658106"
      unitRef="usd">0</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RleHRyZWdpb246N2Q4ZDI5ODlmNzBjNDQ2ZDg3NDU5MTc5N2E3ZGMzMDVfMTA5OTUxMTYyODY4Mg_64714e63-31ab-4358-a5cf-3d654ef1a042"
      unitRef="usd">700000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RleHRyZWdpb246N2Q4ZDI5ODlmNzBjNDQ2ZDg3NDU5MTc5N2E3ZGMzMDVfMTA5OTUxMTYyODY4Mg_c0e6ff87-cd0b-45d2-ae16-e0aa72b7d791"
      unitRef="usd">700000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RleHRyZWdpb246N2Q4ZDI5ODlmNzBjNDQ2ZDg3NDU5MTc5N2E3ZGMzMDVfNTI1_22f4c8af-4564-43b9-baa3-9897775a3c49">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Maturities of operating lease liabilities at June 30, 2021 were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:5pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:86.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.539%"/&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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Year ending December 31,&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline"&gt;(1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,419&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,017&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,689&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,843&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,405&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,499&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease payments&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;76,872&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Imputed interest&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(19,489)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/div&gt;&lt;/td&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;57,383&#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&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:6pt;font-weight:400;line-height:120%"&gt;_______________&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;(1)&#160;&#160;&#160;&#160;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:400;line-height:120%"&gt;Represents the six months ending December&#160;31, 2021.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RhYmxlOjViMjJlYmMzODUxNjQwMmU5NTU0NzhkZmVlOGZkOWYyL3RhYmxlcmFuZ2U6NWIyMmViYzM4NTE2NDAyZTk1NTQ3OGRmZWU4ZmQ5ZjJfMi0xLTEtMS0w_04161a67-6a1e-4964-8663-f5fda950a379"
      unitRef="usd">1419000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RhYmxlOjViMjJlYmMzODUxNjQwMmU5NTU0NzhkZmVlOGZkOWYyL3RhYmxlcmFuZ2U6NWIyMmViYzM4NTE2NDAyZTk1NTQ3OGRmZWU4ZmQ5ZjJfMy0xLTEtMS0w_cc366bf4-a212-43c4-bf3e-b14e6025ca21"
      unitRef="usd">8017000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RhYmxlOjViMjJlYmMzODUxNjQwMmU5NTU0NzhkZmVlOGZkOWYyL3RhYmxlcmFuZ2U6NWIyMmViYzM4NTE2NDAyZTk1NTQ3OGRmZWU4ZmQ5ZjJfNC0xLTEtMS0w_f00d5954-8bf8-412c-8b85-806f4225f49b"
      unitRef="usd">7689000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RhYmxlOjViMjJlYmMzODUxNjQwMmU5NTU0NzhkZmVlOGZkOWYyL3RhYmxlcmFuZ2U6NWIyMmViYzM4NTE2NDAyZTk1NTQ3OGRmZWU4ZmQ5ZjJfNS0xLTEtMS0w_5cdf2e9e-e057-4056-8fb1-55668bcf1ed9"
      unitRef="usd">7843000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RhYmxlOjViMjJlYmMzODUxNjQwMmU5NTU0NzhkZmVlOGZkOWYyL3RhYmxlcmFuZ2U6NWIyMmViYzM4NTE2NDAyZTk1NTQ3OGRmZWU4ZmQ5ZjJfNi0xLTEtMS0w_d92c265f-c882-4585-9286-4f58d97c2466"
      unitRef="usd">7405000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <tenb:LesseeOperatingLeaseLiabilitytobePaidafterYearFour
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RhYmxlOjViMjJlYmMzODUxNjQwMmU5NTU0NzhkZmVlOGZkOWYyL3RhYmxlcmFuZ2U6NWIyMmViYzM4NTE2NDAyZTk1NTQ3OGRmZWU4ZmQ5ZjJfNy0xLTEtMS0w_2778b5f3-5df5-4a5f-8917-42aed4a35470"
      unitRef="usd">44499000</tenb:LesseeOperatingLeaseLiabilitytobePaidafterYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RhYmxlOjViMjJlYmMzODUxNjQwMmU5NTU0NzhkZmVlOGZkOWYyL3RhYmxlcmFuZ2U6NWIyMmViYzM4NTE2NDAyZTk1NTQ3OGRmZWU4ZmQ5ZjJfOC0xLTEtMS0w_4036407e-eec3-4ae0-988d-39a7f57da8e4"
      unitRef="usd">76872000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RhYmxlOjViMjJlYmMzODUxNjQwMmU5NTU0NzhkZmVlOGZkOWYyL3RhYmxlcmFuZ2U6NWIyMmViYzM4NTE2NDAyZTk1NTQ3OGRmZWU4ZmQ5ZjJfOS0xLTEtMS0w_c3e7a3fb-3d59-4275-bffb-60bf263b790c"
      unitRef="usd">19489000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82MS9mcmFnOjdkOGQyOTg5ZjcwYzQ0NmQ4NzQ1OTE3OTdhN2RjMzA1L3RhYmxlOjViMjJlYmMzODUxNjQwMmU5NTU0NzhkZmVlOGZkOWYyL3RhYmxlcmFuZ2U6NWIyMmViYzM4NTE2NDAyZTk1NTQ3OGRmZWU4ZmQ5ZjJfMTEtMS0xLTEtMA_5437d86b-9e35-4746-ba92-3b39d0d27f81"
      unitRef="usd">57383000</us-gaap:OperatingLeaseLiability>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82Ny9mcmFnOmQ1ZTk0NTJkZjg4NDQ5NGE4YmM3YWE5NWVhZDcxYmM2L3RleHRyZWdpb246ZDVlOTQ1MmRmODg0NDk0YThiYzdhYTk1ZWFkNzFiYzZfMTM0NQ_f903189c-fe2a-4abf-9652-8bfe0aea222a">Debt &lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In July 2020, we entered into a $45.0&#160;million senior secured credit facility (&#x201c;2020 Credit Facility&#x201d;) with Silicon Valley Bank in connection with the expiration of our $25.0&#160;million revolving credit facility. The 2020 Credit Facility bears interest at either LIBOR plus 2%, with a 1% LIBOR floor, or the base rate plus 1%, and terminates on July 24, 2022. A commitment fee of 0.35% per annum is payable quarterly in arrears based on the unused portion. The obligations under the 2020 Credit Facility are secured by a lien on our tangible and intangible property except intellectual property and certain subsidiaries and by a pledge of all of the equity interests of our material direct and indirect domestic subsidiaries and 65% of each class of capital stock of any material first-tier foreign subsidiaries, subject to limited exceptions. The 2020 Credit Facility includes a $45.0&#160;million uncommitted expansion, as well as a $10.0&#160;million sublimit for the issuance of letters of credit and a swingline sub-facility of up to $10.0&#160;million, and has a financial covenant requiring a minimum consolidated quick ratio of at least 1.5:1.0 on the last day of each quarter.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the six months ended June 30, 2021, there were no amounts outstanding under our 2020 Credit Facility. At June 30, 2021, we were in compliance with the financial covenant and our borrowing capacity was reduced by $5.5&#160;million related to standby letters of credit. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In July 2021, the 2020 Credit Facility was terminated. See Note 13 for additional information.&lt;/span&gt;&lt;/div&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i45026ea1ca9f47d59e0921581550806b_I20200731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82Ny9mcmFnOmQ1ZTk0NTJkZjg4NDQ5NGE4YmM3YWE5NWVhZDcxYmM2L3RleHRyZWdpb246ZDVlOTQ1MmRmODg0NDk0YThiYzdhYTk1ZWFkNzFiYzZfMTA5OTUxMTYzODE1NQ_352628f2-90da-45e8-9344-9c876d4f4644"
      unitRef="usd">45000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i54a1d986ae874035811113f4ad247ac3_I20170504"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82Ny9mcmFnOmQ1ZTk0NTJkZjg4NDQ5NGE4YmM3YWE5NWVhZDcxYmM2L3RleHRyZWdpb246ZDVlOTQ1MmRmODg0NDk0YThiYzdhYTk1ZWFkNzFiYzZfMTA5OTUxMTYzODUxMg_cee0bb79-e2e0-4213-b4bf-cb71a1039471"
      unitRef="usd">25000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i7ede4cd8efd942ef8790d06fdf0acfeb_D20200701-20200731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82Ny9mcmFnOmQ1ZTk0NTJkZjg4NDQ5NGE4YmM3YWE5NWVhZDcxYmM2L3RleHRyZWdpb246ZDVlOTQ1MmRmODg0NDk0YThiYzdhYTk1ZWFkNzFiYzZfMTA5OTUxMTYzODE3MA_9a325ebb-6a7a-4654-b9c3-8cf5871257a9"
      unitRef="number">0.02</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <tenb:DebtInstrumentBasisSpreadonVariableRateVariableRateFloor
      contextRef="i7ede4cd8efd942ef8790d06fdf0acfeb_D20200701-20200731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82Ny9mcmFnOmQ1ZTk0NTJkZjg4NDQ5NGE4YmM3YWE5NWVhZDcxYmM2L3RleHRyZWdpb246ZDVlOTQ1MmRmODg0NDk0YThiYzdhYTk1ZWFkNzFiYzZfMTA5OTUxMTYzODE3NA_b543bef0-0d3f-4807-89c3-1d464617ef23"
      unitRef="number">0.01</tenb:DebtInstrumentBasisSpreadonVariableRateVariableRateFloor>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i778b6881f87744edbef9a53d991f209c_D20200701-20200731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82Ny9mcmFnOmQ1ZTk0NTJkZjg4NDQ5NGE4YmM3YWE5NWVhZDcxYmM2L3RleHRyZWdpb246ZDVlOTQ1MmRmODg0NDk0YThiYzdhYTk1ZWFkNzFiYzZfMTA5OTUxMTYzODE3OA_204d4a3d-4cfa-4e08-817a-14cb7861281a"
      unitRef="number">0.01</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="i97723065abb54ec7be34de599abe07f6_D20200701-20200731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82Ny9mcmFnOmQ1ZTk0NTJkZjg4NDQ5NGE4YmM3YWE5NWVhZDcxYmM2L3RleHRyZWdpb246ZDVlOTQ1MmRmODg0NDk0YThiYzdhYTk1ZWFkNzFiYzZfMTA5OTUxMTYzODE4Mg_2b5304f6-8fe9-4663-a7ae-e478b279ec38"
      unitRef="number">0.0035</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <tenb:EachTypeOfCapitalStockOfFirstTierForeignSubsidiariesPercentSecuredAgainstLineOfCredit
      contextRef="iea0aca0aef074272a63c012e688403f4_I20200731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82Ny9mcmFnOmQ1ZTk0NTJkZjg4NDQ5NGE4YmM3YWE5NWVhZDcxYmM2L3RleHRyZWdpb246ZDVlOTQ1MmRmODg0NDk0YThiYzdhYTk1ZWFkNzFiYzZfMTA5OTUxMTYzODE4OQ_f6a532eb-cd82-40e9-9864-a87755a3e13a"
      unitRef="number">0.65</tenb:EachTypeOfCapitalStockOfFirstTierForeignSubsidiariesPercentSecuredAgainstLineOfCredit>
    <tenb:LineofCreditAccordionFeatureIncreaseLimit
      contextRef="i45026ea1ca9f47d59e0921581550806b_I20200731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82Ny9mcmFnOmQ1ZTk0NTJkZjg4NDQ5NGE4YmM3YWE5NWVhZDcxYmM2L3RleHRyZWdpb246ZDVlOTQ1MmRmODg0NDk0YThiYzdhYTk1ZWFkNzFiYzZfMTA5OTUxMTYzODIwOQ_0c1dce13-5532-4ecd-9350-7f06e2be1a07"
      unitRef="usd">45000000.0</tenb:LineofCreditAccordionFeatureIncreaseLimit>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i85b1695b4467468eb5631983b8829024_I20200731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82Ny9mcmFnOmQ1ZTk0NTJkZjg4NDQ5NGE4YmM3YWE5NWVhZDcxYmM2L3RleHRyZWdpb246ZDVlOTQ1MmRmODg0NDk0YThiYzdhYTk1ZWFkNzFiYzZfMTA5OTUxMTYzODE5NA_e5ca6ba7-8db0-40b9-8a09-a0c1923d627b"
      unitRef="usd">10000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i99e074c9e1d943a98b29ddd6faeb4f77_I20200731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82Ny9mcmFnOmQ1ZTk0NTJkZjg4NDQ5NGE4YmM3YWE5NWVhZDcxYmM2L3RleHRyZWdpb246ZDVlOTQ1MmRmODg0NDk0YThiYzdhYTk1ZWFkNzFiYzZfMTA5OTUxMTYzODIyNA_49aa3ba7-2a6f-4d02-bd43-1672d8a7665e"
      unitRef="usd">10000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <tenb:LineOfCreditCovenantQuickRatioMinimum
      contextRef="i45026ea1ca9f47d59e0921581550806b_I20200731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82Ny9mcmFnOmQ1ZTk0NTJkZjg4NDQ5NGE4YmM3YWE5NWVhZDcxYmM2L3RleHRyZWdpb246ZDVlOTQ1MmRmODg0NDk0YThiYzdhYTk1ZWFkNzFiYzZfMTA5OTUxMTYzODIzOQ_a7382b03-ed38-426b-8244-dc863bce8c90"
      unitRef="number">1.5</tenb:LineOfCreditCovenantQuickRatioMinimum>
    <us-gaap:LineOfCreditFacilityAverageOutstandingAmount
      contextRef="i8700b91c9a08489992ce50d18ade940b_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82Ny9mcmFnOmQ1ZTk0NTJkZjg4NDQ5NGE4YmM3YWE5NWVhZDcxYmM2L3RleHRyZWdpb246ZDVlOTQ1MmRmODg0NDk0YThiYzdhYTk1ZWFkNzFiYzZfMTA5OTUxMTYyOTE4Mg_8dd12144-a011-4f6e-94e5-781b9092a348"
      unitRef="usd">0</us-gaap:LineOfCreditFacilityAverageOutstandingAmount>
    <tenb:LineOfCreditFacilityIncreaseDecreaseInBorrowingCapacity
      contextRef="i68faa6e9f40843d3b6529b6e7393038e_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF82Ny9mcmFnOmQ1ZTk0NTJkZjg4NDQ5NGE4YmM3YWE5NWVhZDcxYmM2L3RleHRyZWdpb246ZDVlOTQ1MmRmODg0NDk0YThiYzdhYTk1ZWFkNzFiYzZfMTMwMQ_20024623-6853-4220-b151-7c38560a6a54"
      unitRef="usd">-5500000</tenb:LineOfCreditFacilityIncreaseDecreaseInBorrowingCapacity>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RleHRyZWdpb246MzYzYjAzNzBlNGMzNGEzOGIwMTZlZDQxYmJkNTJkNmFfMjEyMw_43806b22-0056-4d66-9b38-cf9f1e3f0ebb">Stock-Based Compensation&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At June 30, 2021, there were 20,239,030 shares available for grant under our 2018 Equity Incentive Plan.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Stock-based compensation expense included in the consolidated statements of operations was as follows: &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: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:48.483%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.986%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30,&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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of revenue&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,202&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;830&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,139&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,577&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sales and marketing&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,577&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 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,375&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 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,873&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 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,871&lt;/span&gt;&lt;/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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research and development&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,176&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 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,893&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 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,332&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 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,841&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;General and administrative&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,514&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 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,568&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 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,077&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 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,412&lt;/span&gt;&lt;/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 style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total stock-based compensation expense&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,469&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,666&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,421&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,701&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At&#160;June 30, 2021, the unrecognized stock-based compensation expense related to unvested restricted stock units ("RSUs") was $196.9 million, which is expected to be recognized over an estimated remaining weighted average period of&#160;3.1 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At June 30, 2021, the unrecognized stock-based compensation expense related to outstanding stock options was $6.0 million, which is expected to be recognized over an estimated remaining weighted average period of 0.9 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Restricted Stock and RSUs&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of our restricted stock and RSU activity is presented below:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.852%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.503%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.769%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.503%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.769%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.503%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.492%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.509%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Restricted Stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;RSUs&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;div style="padding-right:4.5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands, except for per share data)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Number&lt;br/&gt;of Shares&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Grant Date Fair Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Number&lt;br/&gt;of Shares&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Grant Date Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested balance at December&#160;31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 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 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,490&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28.13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size: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="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,099&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42.18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(99)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,184)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27.95&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(353)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31.26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested balance at June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,052&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35.18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Stock Options&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of our stock option activity is presented below:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;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:45.852%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.503%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.769%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.503%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.769%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.503%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.492%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.509%"/&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;div style="padding-right:4.5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands, except for exercise prices and years)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Number&lt;br/&gt;of Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Exercise Price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted-Average Remaining Contractual Term (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="font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;&lt;br/&gt;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Aggregate Intrinsic Value&lt;/span&gt;&lt;/td&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at December&#160;31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,441&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.56&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 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 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.4&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;412,547&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 2.12pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 3.25pt 0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,212)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 2.12pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,483&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited/canceled&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(28)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14.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 2.12pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 3.25pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,201&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.0&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;267,365&lt;/span&gt;&lt;/td&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercisable at June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,584&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.24&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.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 3.25pt 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;224,561&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At June 30, 2021, there were 8.2 million stock options that were vested and expected to vest.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;2018 Employee Stock Purchase Plan&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At June 30, 2021, there were 6,587,717 shares reserved for issuance under our 2018 Employee Stock Purchase Plan ("2018 ESPP").&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the six months ended June 30, 2021, employees purchased 399,187 shares of our common stock at a weighted average price of $20.16 per share, resulting in $8.0 million of cash proceeds.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At June 30, 2021, there was $4.4 million of employee contributions to the 2018 ESPP included in accrued compensation. At June 30, 2021, the unrecognized stock-based compensation expense related to our 2018 ESPP was $2.6 million, which is expected to be recognized over an estimated weighted average period of 0.7 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The fair value of the 2018 ESPP purchase rights was estimated on the offering or modification dates using a Black-Scholes option-pricing model and the following assumptions:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;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.316%"/&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.494%"/&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="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30,&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:'Arial',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:'Arial',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:'Arial',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;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.5 &#x2014; 2.0&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.5 &#x2014; 2.0&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52.0% &#x2014; 59.4%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41.6% &#x2014; 47.9%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.1%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.8% &#x2014; 0.9%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As we now have sufficient history as a public company, in 2021 we began using the volatility of our common stock to calculate expected volatility. Previously, we used the volatility of the common stock of similar peer companies.&lt;/span&gt;&lt;/div&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="ic7bd276a2ad543b1a446b55991f9e438_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RleHRyZWdpb246MzYzYjAzNzBlNGMzNGEzOGIwMTZlZDQxYmJkNTJkNmFfMjE0_80b65303-f11a-49ea-bbbb-8dc23bb58cd6"
      unitRef="shares">20239030</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RleHRyZWdpb246MzYzYjAzNzBlNGMzNGEzOGIwMTZlZDQxYmJkNTJkNmFfMjEyNQ_b90dd465-723a-4dc1-ba6c-97591a857b0f">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Stock-based compensation expense included in the consolidated statements of operations was as follows: &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom: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:48.483%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.986%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30,&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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of revenue&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,202&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;830&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,139&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,577&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Sales and marketing&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,577&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 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,375&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 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,873&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 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,871&lt;/span&gt;&lt;/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 style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Research and development&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,176&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 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,893&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 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,332&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 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,841&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:9pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;General and administrative&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,514&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 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,568&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 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,077&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 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,412&lt;/span&gt;&lt;/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 style="padding-left:20.25pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total stock-based compensation expense&lt;/span&gt;&lt;/div&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,469&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,666&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,421&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,701&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfCompensationCostForShareBasedPaymentArrangementsAllocationOfShareBasedCompensationCostsByPlanTableTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i8c083503051a45afa59ddd223d7ae972_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmNjY2RhY2E2NzA0ZDRjNmU4MDBjYmY4ZjJkODA0Y2Y0L3RhYmxlcmFuZ2U6Y2NjZGFjYTY3MDRkNGM2ZTgwMGNiZjhmMmQ4MDRjZjRfMi0xLTEtMS0yNTE_190094a1-2438-44aa-98eb-9096069c224c"
      unitRef="usd">1202000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i84f7371f17924cb79cac2a4e47b499a3_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmNjY2RhY2E2NzA0ZDRjNmU4MDBjYmY4ZjJkODA0Y2Y0L3RhYmxlcmFuZ2U6Y2NjZGFjYTY3MDRkNGM2ZTgwMGNiZjhmMmQ4MDRjZjRfMi0zLTEtMS0yNTE_8c68964d-6b8e-450a-a986-3f07f61c6fa8"
      unitRef="usd">830000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="idf4eb48fa2344286921074a9d2d4f5ad_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmNjY2RhY2E2NzA0ZDRjNmU4MDBjYmY4ZjJkODA0Y2Y0L3RhYmxlcmFuZ2U6Y2NjZGFjYTY3MDRkNGM2ZTgwMGNiZjhmMmQ4MDRjZjRfMi01LTEtMS0yNTE_8d2fa99f-7def-4e63-9e4a-083d7102f00a"
      unitRef="usd">2139000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="iffe5a5c5d2294438ba2c76c88bc8a16c_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmNjY2RhY2E2NzA0ZDRjNmU4MDBjYmY4ZjJkODA0Y2Y0L3RhYmxlcmFuZ2U6Y2NjZGFjYTY3MDRkNGM2ZTgwMGNiZjhmMmQ4MDRjZjRfMi03LTEtMS0yNTE_7b42e186-9987-42e5-8825-66a3ecdf1064"
      unitRef="usd">1577000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i1f15883f9cca4474b2cafad7194d3640_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmNjY2RhY2E2NzA0ZDRjNmU4MDBjYmY4ZjJkODA0Y2Y0L3RhYmxlcmFuZ2U6Y2NjZGFjYTY3MDRkNGM2ZTgwMGNiZjhmMmQ4MDRjZjRfMy0xLTEtMS0yNTE_4f71424f-fbd5-45da-adac-5d85f7f80673"
      unitRef="usd">7577000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i020d11cd641746c5a69ab97dbfd76c22_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmNjY2RhY2E2NzA0ZDRjNmU4MDBjYmY4ZjJkODA0Y2Y0L3RhYmxlcmFuZ2U6Y2NjZGFjYTY3MDRkNGM2ZTgwMGNiZjhmMmQ4MDRjZjRfMy0zLTEtMS0yNTE_60ca854d-e575-4c4b-9629-abd5bae659d7"
      unitRef="usd">5375000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i2c08d01d9808422e8c46db3089e86696_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmNjY2RhY2E2NzA0ZDRjNmU4MDBjYmY4ZjJkODA0Y2Y0L3RhYmxlcmFuZ2U6Y2NjZGFjYTY3MDRkNGM2ZTgwMGNiZjhmMmQ4MDRjZjRfMy01LTEtMS0yNTE_d8ae95e0-b75c-499f-91b3-5abe80f9034c"
      unitRef="usd">13873000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i8d4195bc8c83404e9fb03071b8b48969_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmNjY2RhY2E2NzA0ZDRjNmU4MDBjYmY4ZjJkODA0Y2Y0L3RhYmxlcmFuZ2U6Y2NjZGFjYTY3MDRkNGM2ZTgwMGNiZjhmMmQ4MDRjZjRfMy03LTEtMS0yNTE_83f22f08-6cea-4c19-bda7-3ebee8cda366"
      unitRef="usd">9871000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ia6522468a15347e2866ca1282d3dc209_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmNjY2RhY2E2NzA0ZDRjNmU4MDBjYmY4ZjJkODA0Y2Y0L3RhYmxlcmFuZ2U6Y2NjZGFjYTY3MDRkNGM2ZTgwMGNiZjhmMmQ4MDRjZjRfNC0xLTEtMS0yNTE_271d7099-e686-4e15-8e6f-7f50010a932b"
      unitRef="usd">5176000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i9ece564fe368412f846ad349e6473edb_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmNjY2RhY2E2NzA0ZDRjNmU4MDBjYmY4ZjJkODA0Y2Y0L3RhYmxlcmFuZ2U6Y2NjZGFjYTY3MDRkNGM2ZTgwMGNiZjhmMmQ4MDRjZjRfNC0zLTEtMS0yNTE_de267d67-ce04-4e49-97ec-8d607a3c5382"
      unitRef="usd">3893000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="ie23ec9ed26f542ada9de5de83374a9fc_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmNjY2RhY2E2NzA0ZDRjNmU4MDBjYmY4ZjJkODA0Y2Y0L3RhYmxlcmFuZ2U6Y2NjZGFjYTY3MDRkNGM2ZTgwMGNiZjhmMmQ4MDRjZjRfNC01LTEtMS0yNTE_96c19129-fd46-4c45-9996-63f873c8c2a8"
      unitRef="usd">9332000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i925d4130b33f408f8ef550448ad4a9e2_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmNjY2RhY2E2NzA0ZDRjNmU4MDBjYmY4ZjJkODA0Y2Y0L3RhYmxlcmFuZ2U6Y2NjZGFjYTY3MDRkNGM2ZTgwMGNiZjhmMmQ4MDRjZjRfNC03LTEtMS0yNTE_0aa8078a-9ad4-4ce5-9173-aa4ab811f6f4"
      unitRef="usd">6841000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i388144daaac143fa9236ed182ae247e4_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmNjY2RhY2E2NzA0ZDRjNmU4MDBjYmY4ZjJkODA0Y2Y0L3RhYmxlcmFuZ2U6Y2NjZGFjYTY3MDRkNGM2ZTgwMGNiZjhmMmQ4MDRjZjRfNS0xLTEtMS0yNTE_dab48a85-f858-4522-b29c-06a6afe6ef3c"
      unitRef="usd">6514000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i1f4c5c75df274881a2dabc7f43cc27d7_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmNjY2RhY2E2NzA0ZDRjNmU4MDBjYmY4ZjJkODA0Y2Y0L3RhYmxlcmFuZ2U6Y2NjZGFjYTY3MDRkNGM2ZTgwMGNiZjhmMmQ4MDRjZjRfNS0zLTEtMS0yNTE_90b00f19-17ff-4904-aecc-0c9c63ab974f"
      unitRef="usd">5568000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i8899a17af9174fb0b6c6150bcc99793f_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmNjY2RhY2E2NzA0ZDRjNmU4MDBjYmY4ZjJkODA0Y2Y0L3RhYmxlcmFuZ2U6Y2NjZGFjYTY3MDRkNGM2ZTgwMGNiZjhmMmQ4MDRjZjRfNS01LTEtMS0yNTE_5b7f0b3b-30e1-4d5b-8e7c-9ddd5aec6ba7"
      unitRef="usd">12077000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="iacde82c98c6b4c4eb484310601ae01fb_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmNjY2RhY2E2NzA0ZDRjNmU4MDBjYmY4ZjJkODA0Y2Y0L3RhYmxlcmFuZ2U6Y2NjZGFjYTY3MDRkNGM2ZTgwMGNiZjhmMmQ4MDRjZjRfNS03LTEtMS0yNTE_64aa1338-f459-4067-9662-ba0749c32169"
      unitRef="usd">10412000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmNjY2RhY2E2NzA0ZDRjNmU4MDBjYmY4ZjJkODA0Y2Y0L3RhYmxlcmFuZ2U6Y2NjZGFjYTY3MDRkNGM2ZTgwMGNiZjhmMmQ4MDRjZjRfNi0xLTEtMS03Mzc_5e63165f-515e-4a03-b0b2-8fc24879da1b"
      unitRef="usd">20469000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmNjY2RhY2E2NzA0ZDRjNmU4MDBjYmY4ZjJkODA0Y2Y0L3RhYmxlcmFuZ2U6Y2NjZGFjYTY3MDRkNGM2ZTgwMGNiZjhmMmQ4MDRjZjRfNi0zLTEtMS03Mzc_f74cfeee-3efe-46a1-b83c-2d364aa2937a"
      unitRef="usd">15666000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmNjY2RhY2E2NzA0ZDRjNmU4MDBjYmY4ZjJkODA0Y2Y0L3RhYmxlcmFuZ2U6Y2NjZGFjYTY3MDRkNGM2ZTgwMGNiZjhmMmQ4MDRjZjRfNi01LTEtMS03Mzc_224304ba-c5b7-40e5-b16d-d7ebbadb1f28"
      unitRef="usd">37421000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmNjY2RhY2E2NzA0ZDRjNmU4MDBjYmY4ZjJkODA0Y2Y0L3RhYmxlcmFuZ2U6Y2NjZGFjYTY3MDRkNGM2ZTgwMGNiZjhmMmQ4MDRjZjRfNi03LTEtMS03Mzc_73addd64-0e19-41f7-9980-4691ccb71f6c"
      unitRef="usd">28701000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions
      contextRef="i0bca5dde877a466c88fcc0f1a9880391_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RleHRyZWdpb246MzYzYjAzNzBlNGMzNGEzOGIwMTZlZDQxYmJkNTJkNmFfNDg0_9009f172-6fe1-44ec-a633-2991382a5901"
      unitRef="usd">196900000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i069e4358a52844889209645862e7727b_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RleHRyZWdpb246MzYzYjAzNzBlNGMzNGEzOGIwMTZlZDQxYmJkNTJkNmFfNTc4_c54f6b42-20f8-4a66-b269-46acbc4f8c0c">P3Y1M6D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RleHRyZWdpb246MzYzYjAzNzBlNGMzNGEzOGIwMTZlZDQxYmJkNTJkNmFfNjgw_a25c15fe-8314-4474-8ac0-6150e3ab9683"
      unitRef="usd">6000000.0</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="i168b4b1e37864b76801ba21368b423c9_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RleHRyZWdpb246MzYzYjAzNzBlNGMzNGEzOGIwMTZlZDQxYmJkNTJkNmFfNzc0_8ed4d0de-6f7d-4e10-815f-16d4cabe5026">P0Y10M24D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RleHRyZWdpb246MzYzYjAzNzBlNGMzNGEzOGIwMTZlZDQxYmJkNTJkNmFfMjExNg_22ed5f61-6b99-4ec1-8629-76ab9b739b84">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of our restricted stock and RSU activity is presented below:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:5pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:45.852%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.503%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.769%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.503%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.769%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.503%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.492%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.509%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Restricted Stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;RSUs&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;div style="padding-right:4.5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands, except for per share data)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Number&lt;br/&gt;of Shares&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Grant Date Fair Value&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Number&lt;br/&gt;of Shares&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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Grant Date Fair Value&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested balance at December&#160;31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 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 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,490&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28.13&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size: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="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,099&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42.18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Vested&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(99)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.25&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,184)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27.95&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(353)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31.26&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unvested balance at June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,052&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35.18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfSharebasedCompensationRestrictedStockAndRestrictedStockUnitsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="id5a195f4f97241799ad9fe96841689d7_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjI5N2I4NWM5NzE5MzRiOTFiNDNmNWNhOTljN2U5ZGU1L3RhYmxlcmFuZ2U6Mjk3Yjg1Yzk3MTkzNGI5MWI0M2Y1Y2E5OWM3ZTlkZTVfMi0xLTEtMS0w_c668b5c0-6534-441a-8dd4-f1e1657d6d42"
      unitRef="shares">99000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="id5a195f4f97241799ad9fe96841689d7_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjI5N2I4NWM5NzE5MzRiOTFiNDNmNWNhOTljN2U5ZGU1L3RhYmxlcmFuZ2U6Mjk3Yjg1Yzk3MTkzNGI5MWI0M2Y1Y2E5OWM3ZTlkZTVfMi0zLTEtMS0w_edad82d7-0bda-4597-8fe4-5927e6c38646"
      unitRef="usdPerShare">4.25</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="ib18bb0614c684b8cad8d6fb18d8aa2fb_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjI5N2I4NWM5NzE5MzRiOTFiNDNmNWNhOTljN2U5ZGU1L3RhYmxlcmFuZ2U6Mjk3Yjg1Yzk3MTkzNGI5MWI0M2Y1Y2E5OWM3ZTlkZTVfMi01LTEtMS0w_50d703e6-a440-45ec-b570-42752369af3d"
      unitRef="shares">4490000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="ib18bb0614c684b8cad8d6fb18d8aa2fb_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjI5N2I4NWM5NzE5MzRiOTFiNDNmNWNhOTljN2U5ZGU1L3RhYmxlcmFuZ2U6Mjk3Yjg1Yzk3MTkzNGI5MWI0M2Y1Y2E5OWM3ZTlkZTVfMi03LTEtMS0w_5f1c7816-6093-4deb-9d84-de0a85023c1c"
      unitRef="usdPerShare">28.13</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i6c64ac252a50479c8a4888e6d9c2685c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjI5N2I4NWM5NzE5MzRiOTFiNDNmNWNhOTljN2U5ZGU1L3RhYmxlcmFuZ2U6Mjk3Yjg1Yzk3MTkzNGI5MWI0M2Y1Y2E5OWM3ZTlkZTVfMy0xLTEtMS0w_f5ede0ea-93c2-4ef2-99fa-187a25c89e54"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i6c64ac252a50479c8a4888e6d9c2685c_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjI5N2I4NWM5NzE5MzRiOTFiNDNmNWNhOTljN2U5ZGU1L3RhYmxlcmFuZ2U6Mjk3Yjg1Yzk3MTkzNGI5MWI0M2Y1Y2E5OWM3ZTlkZTVfMy0zLTEtMS0w_bc11c999-12ea-4440-b666-02f8880f975b"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod
      contextRef="i069e4358a52844889209645862e7727b_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjI5N2I4NWM5NzE5MzRiOTFiNDNmNWNhOTljN2U5ZGU1L3RhYmxlcmFuZ2U6Mjk3Yjg1Yzk3MTkzNGI5MWI0M2Y1Y2E5OWM3ZTlkZTVfMy01LTEtMS0w_adee96c4-bde5-42eb-9526-20b93d6b8b47"
      unitRef="shares">3099000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue
      contextRef="i069e4358a52844889209645862e7727b_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjI5N2I4NWM5NzE5MzRiOTFiNDNmNWNhOTljN2U5ZGU1L3RhYmxlcmFuZ2U6Mjk3Yjg1Yzk3MTkzNGI5MWI0M2Y1Y2E5OWM3ZTlkZTVfMy03LTEtMS0w_3f8356a6-697b-4ea7-963f-3c7a886845d3"
      unitRef="usdPerShare">42.18</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i6c64ac252a50479c8a4888e6d9c2685c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjI5N2I4NWM5NzE5MzRiOTFiNDNmNWNhOTljN2U5ZGU1L3RhYmxlcmFuZ2U6Mjk3Yjg1Yzk3MTkzNGI5MWI0M2Y1Y2E5OWM3ZTlkZTVfNC0xLTEtMS0w_fa3f13d0-3ac8-4988-9b41-b1739617cda3"
      unitRef="shares">99000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i6c64ac252a50479c8a4888e6d9c2685c_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjI5N2I4NWM5NzE5MzRiOTFiNDNmNWNhOTljN2U5ZGU1L3RhYmxlcmFuZ2U6Mjk3Yjg1Yzk3MTkzNGI5MWI0M2Y1Y2E5OWM3ZTlkZTVfNC0zLTEtMS0w_9f8ab737-fc12-4810-85af-addb25c4091a"
      unitRef="usdPerShare">4.25</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod
      contextRef="i069e4358a52844889209645862e7727b_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjI5N2I4NWM5NzE5MzRiOTFiNDNmNWNhOTljN2U5ZGU1L3RhYmxlcmFuZ2U6Mjk3Yjg1Yzk3MTkzNGI5MWI0M2Y1Y2E5OWM3ZTlkZTVfNC01LTEtMS0w_7ab8043e-4881-43b4-b3e0-1b6b5b3607a3"
      unitRef="shares">1184000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue
      contextRef="i069e4358a52844889209645862e7727b_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjI5N2I4NWM5NzE5MzRiOTFiNDNmNWNhOTljN2U5ZGU1L3RhYmxlcmFuZ2U6Mjk3Yjg1Yzk3MTkzNGI5MWI0M2Y1Y2E5OWM3ZTlkZTVfNC03LTEtMS0w_ea22fbd1-fdb1-4229-a27f-3c23c71f39c7"
      unitRef="usdPerShare">27.95</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i6c64ac252a50479c8a4888e6d9c2685c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjI5N2I4NWM5NzE5MzRiOTFiNDNmNWNhOTljN2U5ZGU1L3RhYmxlcmFuZ2U6Mjk3Yjg1Yzk3MTkzNGI5MWI0M2Y1Y2E5OWM3ZTlkZTVfNS0xLTEtMS0w_52d730bd-5639-4fc9-9e27-7ff3f81cafdf"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i6c64ac252a50479c8a4888e6d9c2685c_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjI5N2I4NWM5NzE5MzRiOTFiNDNmNWNhOTljN2U5ZGU1L3RhYmxlcmFuZ2U6Mjk3Yjg1Yzk3MTkzNGI5MWI0M2Y1Y2E5OWM3ZTlkZTVfNS0zLTEtMS0w_b92c25ba-d6ac-454c-b552-9d5d57347e9e"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod
      contextRef="i069e4358a52844889209645862e7727b_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjI5N2I4NWM5NzE5MzRiOTFiNDNmNWNhOTljN2U5ZGU1L3RhYmxlcmFuZ2U6Mjk3Yjg1Yzk3MTkzNGI5MWI0M2Y1Y2E5OWM3ZTlkZTVfNS01LTEtMS0w_70bced39-2b00-4b83-8526-5a079d02f303"
      unitRef="shares">353000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue
      contextRef="i069e4358a52844889209645862e7727b_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjI5N2I4NWM5NzE5MzRiOTFiNDNmNWNhOTljN2U5ZGU1L3RhYmxlcmFuZ2U6Mjk3Yjg1Yzk3MTkzNGI5MWI0M2Y1Y2E5OWM3ZTlkZTVfNS03LTEtMS0w_6c0bf36f-b967-4c84-85ee-c153a709d8bc"
      unitRef="usdPerShare">31.26</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i9fe937f5883042ca9875ac29ef9d4ea3_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjI5N2I4NWM5NzE5MzRiOTFiNDNmNWNhOTljN2U5ZGU1L3RhYmxlcmFuZ2U6Mjk3Yjg1Yzk3MTkzNGI5MWI0M2Y1Y2E5OWM3ZTlkZTVfNi0xLTEtMS0w_02081c51-9ed8-4b74-9480-41bd357143aa"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i9fe937f5883042ca9875ac29ef9d4ea3_I20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjI5N2I4NWM5NzE5MzRiOTFiNDNmNWNhOTljN2U5ZGU1L3RhYmxlcmFuZ2U6Mjk3Yjg1Yzk3MTkzNGI5MWI0M2Y1Y2E5OWM3ZTlkZTVfNi0zLTEtMS0w_4e9aecf6-93bc-41e5-9519-171e1358f54e"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber
      contextRef="i0bca5dde877a466c88fcc0f1a9880391_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjI5N2I4NWM5NzE5MzRiOTFiNDNmNWNhOTljN2U5ZGU1L3RhYmxlcmFuZ2U6Mjk3Yjg1Yzk3MTkzNGI5MWI0M2Y1Y2E5OWM3ZTlkZTVfNi01LTEtMS0w_dc958bd9-a73a-4a3c-bb39-6366c6c060b1"
      unitRef="shares">6052000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue
      contextRef="i0bca5dde877a466c88fcc0f1a9880391_I20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjI5N2I4NWM5NzE5MzRiOTFiNDNmNWNhOTljN2U5ZGU1L3RhYmxlcmFuZ2U6Mjk3Yjg1Yzk3MTkzNGI5MWI0M2Y1Y2E5OWM3ZTlkZTVfNi03LTEtMS0w_08022e5f-6db7-464b-9cd1-e0f0f49066bf"
      unitRef="usdPerShare">35.18</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
    <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RleHRyZWdpb246MzYzYjAzNzBlNGMzNGEzOGIwMTZlZDQxYmJkNTJkNmFfMjEyMA_1a6d6a36-f6d8-4087-a9a5-3610be4ee113">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of our stock option activity is presented below:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;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:45.852%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.503%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.769%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.503%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.769%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.503%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.492%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.509%"/&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;div style="padding-right:4.5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands, except for exercise prices and years)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Number&lt;br/&gt;of Shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted&lt;br/&gt;Average&lt;br/&gt;Exercise Price&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Weighted-Average Remaining Contractual Term (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="font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;&lt;br/&gt;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Aggregate Intrinsic Value&lt;/span&gt;&lt;/td&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at December&#160;31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,441&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.56&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 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 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.4&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;412,547&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Granted&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 2.12pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 3.25pt 0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercised&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,212)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.18&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 2.12pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;44,483&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:18pt;padding-right:4.5pt;text-indent:-9pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Forfeited/canceled&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(28)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14.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 2.12pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 3.25pt 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Outstanding at June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,201&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8.75&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6.0&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;267,365&lt;/span&gt;&lt;/td&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Exercisable at June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 3.25pt 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,584&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7.24&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 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 2.12pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5.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 3.25pt 2px 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;224,561&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmI1Zjc0MmRjZDlmZDQ5NTBiYWMwOGVlNDU4ZDlhYjRmL3RhYmxlcmFuZ2U6YjVmNzQyZGNkOWZkNDk1MGJhYzA4ZWU0NThkOWFiNGZfMS0xLTEtMS0w_8e71a81f-57be-4b2f-912e-2ccfa5fcaa88"
      unitRef="shares">9441000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmI1Zjc0MmRjZDlmZDQ5NTBiYWMwOGVlNDU4ZDlhYjRmL3RhYmxlcmFuZ2U6YjVmNzQyZGNkOWZkNDk1MGJhYzA4ZWU0NThkOWFiNGZfMS0zLTEtMS0w_e7ab8ce1-8d39-46a4-92f0-3c08f3cf19f0"
      unitRef="usdPerShare">8.56</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i792cd294061341dab818d052307202af_D20200101-20201231"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmI1Zjc0MmRjZDlmZDQ5NTBiYWMwOGVlNDU4ZDlhYjRmL3RhYmxlcmFuZ2U6YjVmNzQyZGNkOWZkNDk1MGJhYzA4ZWU0NThkOWFiNGZfMS01LTEtMS0w_fed85128-842b-4045-b04e-c5cca2427745">P6Y4M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmI1Zjc0MmRjZDlmZDQ5NTBiYWMwOGVlNDU4ZDlhYjRmL3RhYmxlcmFuZ2U6YjVmNzQyZGNkOWZkNDk1MGJhYzA4ZWU0NThkOWFiNGZfMS03LTEtMS0w_885e55ad-cba2-4384-9ee6-fc03bfa4645d"
      unitRef="usd">412547000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmI1Zjc0MmRjZDlmZDQ5NTBiYWMwOGVlNDU4ZDlhYjRmL3RhYmxlcmFuZ2U6YjVmNzQyZGNkOWZkNDk1MGJhYzA4ZWU0NThkOWFiNGZfMi0xLTEtMS0w_6d9d12b4-efa6-4883-9f03-950d8efe1716"
      unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmI1Zjc0MmRjZDlmZDQ5NTBiYWMwOGVlNDU4ZDlhYjRmL3RhYmxlcmFuZ2U6YjVmNzQyZGNkOWZkNDk1MGJhYzA4ZWU0NThkOWFiNGZfMi0zLTEtMS0w_05289aa5-35d1-48a0-80bc-9099c258df3e"
      unitRef="usdPerShare">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmI1Zjc0MmRjZDlmZDQ5NTBiYWMwOGVlNDU4ZDlhYjRmL3RhYmxlcmFuZ2U6YjVmNzQyZGNkOWZkNDk1MGJhYzA4ZWU0NThkOWFiNGZfMy0xLTEtMS0w_64a99dd4-a438-449d-aa80-d31fa35cc27b"
      unitRef="shares">1212000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmI1Zjc0MmRjZDlmZDQ5NTBiYWMwOGVlNDU4ZDlhYjRmL3RhYmxlcmFuZ2U6YjVmNzQyZGNkOWZkNDk1MGJhYzA4ZWU0NThkOWFiNGZfMy0zLTEtMS0w_2a92743e-78dd-41f8-8c52-e3c74370791d"
      unitRef="usdPerShare">7.18</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmI1Zjc0MmRjZDlmZDQ5NTBiYWMwOGVlNDU4ZDlhYjRmL3RhYmxlcmFuZ2U6YjVmNzQyZGNkOWZkNDk1MGJhYzA4ZWU0NThkOWFiNGZfMy03LTEtMS0w_4cedd186-dd97-49ad-98f9-7598b4f0bc00"
      unitRef="usd">44483000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmI1Zjc0MmRjZDlmZDQ5NTBiYWMwOGVlNDU4ZDlhYjRmL3RhYmxlcmFuZ2U6YjVmNzQyZGNkOWZkNDk1MGJhYzA4ZWU0NThkOWFiNGZfNC0xLTEtMS0w_ffec96fe-8323-4e80-ba89-4df434a0b7ae"
      unitRef="shares">28000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmI1Zjc0MmRjZDlmZDQ5NTBiYWMwOGVlNDU4ZDlhYjRmL3RhYmxlcmFuZ2U6YjVmNzQyZGNkOWZkNDk1MGJhYzA4ZWU0NThkOWFiNGZfNC0zLTEtMS0w_56670678-4b79-4dfe-ae3d-bf0c46afbc42"
      unitRef="usdPerShare">14.29</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmI1Zjc0MmRjZDlmZDQ5NTBiYWMwOGVlNDU4ZDlhYjRmL3RhYmxlcmFuZ2U6YjVmNzQyZGNkOWZkNDk1MGJhYzA4ZWU0NThkOWFiNGZfNS0xLTEtMS0w_ae54bafc-d3fe-4143-b7f8-358c2395485b"
      unitRef="shares">8201000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmI1Zjc0MmRjZDlmZDQ5NTBiYWMwOGVlNDU4ZDlhYjRmL3RhYmxlcmFuZ2U6YjVmNzQyZGNkOWZkNDk1MGJhYzA4ZWU0NThkOWFiNGZfNS0zLTEtMS0w_7d2054bc-f605-4762-bd33-85d5a731bdfe"
      unitRef="usdPerShare">8.75</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmI1Zjc0MmRjZDlmZDQ5NTBiYWMwOGVlNDU4ZDlhYjRmL3RhYmxlcmFuZ2U6YjVmNzQyZGNkOWZkNDk1MGJhYzA4ZWU0NThkOWFiNGZfNS01LTEtMS0w_053b7e9a-b804-477f-a1e8-c168ad6a43d7">P6Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmI1Zjc0MmRjZDlmZDQ5NTBiYWMwOGVlNDU4ZDlhYjRmL3RhYmxlcmFuZ2U6YjVmNzQyZGNkOWZkNDk1MGJhYzA4ZWU0NThkOWFiNGZfNS03LTEtMS0w_a9f7c3bd-a701-4d23-8436-b4ce11f21c54"
      unitRef="usd">267365000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmI1Zjc0MmRjZDlmZDQ5NTBiYWMwOGVlNDU4ZDlhYjRmL3RhYmxlcmFuZ2U6YjVmNzQyZGNkOWZkNDk1MGJhYzA4ZWU0NThkOWFiNGZfNi0xLTEtMS0w_20757e09-38f3-4c4f-8e3f-c32658a0c607"
      unitRef="shares">6584000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmI1Zjc0MmRjZDlmZDQ5NTBiYWMwOGVlNDU4ZDlhYjRmL3RhYmxlcmFuZ2U6YjVmNzQyZGNkOWZkNDk1MGJhYzA4ZWU0NThkOWFiNGZfNi0zLTEtMS0w_876a570b-af04-4437-9237-396468a3c9b9"
      unitRef="usdPerShare">7.24</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmI1Zjc0MmRjZDlmZDQ5NTBiYWMwOGVlNDU4ZDlhYjRmL3RhYmxlcmFuZ2U6YjVmNzQyZGNkOWZkNDk1MGJhYzA4ZWU0NThkOWFiNGZfNi01LTEtMS0w_481a39ca-3f17-47d3-99a8-88fac560a2f8">P5Y9M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOmI1Zjc0MmRjZDlmZDQ5NTBiYWMwOGVlNDU4ZDlhYjRmL3RhYmxlcmFuZ2U6YjVmNzQyZGNkOWZkNDk1MGJhYzA4ZWU0NThkOWFiNGZfNi03LTEtMS0w_0ca83ac4-56ad-4255-9cec-7bdfbac71607"
      unitRef="usd">224561000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RleHRyZWdpb246MzYzYjAzNzBlNGMzNGEzOGIwMTZlZDQxYmJkNTJkNmFfOTcw_fb08081e-64d3-44de-b419-8ef758f55510"
      unitRef="shares">8200000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant
      contextRef="i6f2fcd96dc8d421db4f9502a3551cee9_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RleHRyZWdpb246MzYzYjAzNzBlNGMzNGEzOGIwMTZlZDQxYmJkNTJkNmFfMTI0OA_4d3c48d9-11c9-43cf-b2e8-aa652aad04b3"
      unitRef="shares">6587717</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="ifce9729e89854fce8d5efcb751b2e93e_D20210101-20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RleHRyZWdpb246MzYzYjAzNzBlNGMzNGEzOGIwMTZlZDQxYmJkNTJkNmFfMTMzMg_4137efb9-2d76-4a84-bd8b-179bec84548f"
      unitRef="shares">399187</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:SharePrice
      contextRef="i6f2fcd96dc8d421db4f9502a3551cee9_I20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RleHRyZWdpb246MzYzYjAzNzBlNGMzNGEzOGIwMTZlZDQxYmJkNTJkNmFfMTM5Mw_c48b764b-2685-4c34-99ac-0149145394b5"
      unitRef="usdPerShare">20.16</us-gaap:SharePrice>
    <us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RleHRyZWdpb246MzYzYjAzNzBlNGMzNGEzOGIwMTZlZDQxYmJkNTJkNmFfMTQxMA_700a96d7-ab7b-42c9-b964-2c1f96c3e323"
      unitRef="usd">8000000.0</us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlans>
    <us-gaap:EmployeeRelatedLiabilitiesCurrentAndNoncurrent
      contextRef="i6f2fcd96dc8d421db4f9502a3551cee9_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RleHRyZWdpb246MzYzYjAzNzBlNGMzNGEzOGIwMTZlZDQxYmJkNTJkNmFfMTQ0OA_1386345e-fd8b-46cf-b93c-226d36021745"
      unitRef="usd">4400000</us-gaap:EmployeeRelatedLiabilitiesCurrentAndNoncurrent>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized
      contextRef="i6f2fcd96dc8d421db4f9502a3551cee9_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RleHRyZWdpb246MzYzYjAzNzBlNGMzNGEzOGIwMTZlZDQxYmJkNTJkNmFfMTYxNA_71a67e1e-babf-4e15-acfe-7bee40892d7f"
      unitRef="usd">2600000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1
      contextRef="ifce9729e89854fce8d5efcb751b2e93e_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RleHRyZWdpb246MzYzYjAzNzBlNGMzNGEzOGIwMTZlZDQxYmJkNTJkNmFfMTY5OA_813d7939-fa8b-4f97-8cfa-cef54136e64e">P0Y8M12D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RleHRyZWdpb246MzYzYjAzNzBlNGMzNGEzOGIwMTZlZDQxYmJkNTJkNmFfMjEyMg_8947872d-57a1-4236-9d87-e45f4a5bc9fd">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The fair value of the 2018 ESPP purchase rights was estimated on the offering or modification dates using a Black-Scholes option-pricing model and the following assumptions:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;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.316%"/&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.494%"/&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="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30,&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:'Arial',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:'Arial',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:'Arial',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;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.5 &#x2014; 2.0&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.5 &#x2014; 2.0&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Expected volatility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;52.0% &#x2014; 59.4%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41.6% &#x2014; 47.9%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Risk-free interest rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.1%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.8% &#x2014; 0.9%&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardEmployeeStockPurchasePlanValuationAssumptionsTableTextBlock>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i08089e260f6548a4bb71912af830fc9e_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjYxYzI5MjJjYTJmMTQyNTFhNTAxYjZhOWQ3YjE1NWZhL3RhYmxlcmFuZ2U6NjFjMjkyMmNhMmYxNDI1MWE1MDFiNmE5ZDdiMTU1ZmFfMi0xLTEtMS0wL3RleHRyZWdpb246NjcwODYwNjVmNmU3NGMyMmE4MzMyNDc1MmIzYzBlYTZfNA_aa66dcc7-8e62-466b-a22f-2ff662480528">P0Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i8840b5d158eb4f1ab9b99f21801e5728_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjYxYzI5MjJjYTJmMTQyNTFhNTAxYjZhOWQ3YjE1NWZhL3RhYmxlcmFuZ2U6NjFjMjkyMmNhMmYxNDI1MWE1MDFiNmE5ZDdiMTU1ZmFfMi0xLTEtMS0wL3RleHRyZWdpb246NjcwODYwNjVmNmU3NGMyMmE4MzMyNDc1MmIzYzBlYTZfOQ_92cd799d-bab3-4a45-a2ab-db1731b9050f">P2Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="i98075c54ca17435b8901e840db0eb653_D20200101-20200630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjYxYzI5MjJjYTJmMTQyNTFhNTAxYjZhOWQ3YjE1NWZhL3RhYmxlcmFuZ2U6NjFjMjkyMmNhMmYxNDI1MWE1MDFiNmE5ZDdiMTU1ZmFfMi0zLTEtMS0wL3RleHRyZWdpb246NDRkZDE2Yzk0NjkxNGJmZGI4NGU0YWQ5ODY5YTJlYzFfNA_d23d03ca-1c8b-4f0e-b05b-6b6b9ce0c401">P0Y6M</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1
      contextRef="ib41651d13d3c4d079412f65d3c65a558_D20200101-20200630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjYxYzI5MjJjYTJmMTQyNTFhNTAxYjZhOWQ3YjE1NWZhL3RhYmxlcmFuZ2U6NjFjMjkyMmNhMmYxNDI1MWE1MDFiNmE5ZDdiMTU1ZmFfMi0zLTEtMS0wL3RleHRyZWdpb246NDRkZDE2Yzk0NjkxNGJmZGI4NGU0YWQ5ODY5YTJlYzFfOQ_f872ab99-0ff4-4162-aa42-f13df2cc5cc3">P2Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum
      contextRef="ifce9729e89854fce8d5efcb751b2e93e_D20210101-20210630"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjYxYzI5MjJjYTJmMTQyNTFhNTAxYjZhOWQ3YjE1NWZhL3RhYmxlcmFuZ2U6NjFjMjkyMmNhMmYxNDI1MWE1MDFiNmE5ZDdiMTU1ZmFfMy0xLTEtMS0wL3RleHRyZWdpb246ZDA1Y2I0ZjUyZTljNGM0MDhiMjcwOWE0MWJhYzc3YTZfNA_6032a17c-5cff-4f97-bfe8-2b72c6765a95"
      unitRef="number">0.520</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum
      contextRef="ifce9729e89854fce8d5efcb751b2e93e_D20210101-20210630"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjYxYzI5MjJjYTJmMTQyNTFhNTAxYjZhOWQ3YjE1NWZhL3RhYmxlcmFuZ2U6NjFjMjkyMmNhMmYxNDI1MWE1MDFiNmE5ZDdiMTU1ZmFfMy0xLTEtMS0wL3RleHRyZWdpb246ZDA1Y2I0ZjUyZTljNGM0MDhiMjcwOWE0MWJhYzc3YTZfOQ_3e24c447-67e5-4572-854d-a1d84fbaadd6"
      unitRef="number">0.594</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum
      contextRef="ib3f63a87a1da4121964520f5bdb389f8_D20200101-20200630"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjYxYzI5MjJjYTJmMTQyNTFhNTAxYjZhOWQ3YjE1NWZhL3RhYmxlcmFuZ2U6NjFjMjkyMmNhMmYxNDI1MWE1MDFiNmE5ZDdiMTU1ZmFfMy0zLTEtMS0wL3RleHRyZWdpb246OGI4NWIzNWJiYmUyNDU5ZGJiZWM1MTA2N2ZhNzUzNmRfNA_f8f72a2d-efae-45e9-9571-c54625063489"
      unitRef="number">0.416</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum
      contextRef="ib3f63a87a1da4121964520f5bdb389f8_D20200101-20200630"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjYxYzI5MjJjYTJmMTQyNTFhNTAxYjZhOWQ3YjE1NWZhL3RhYmxlcmFuZ2U6NjFjMjkyMmNhMmYxNDI1MWE1MDFiNmE5ZDdiMTU1ZmFfMy0zLTEtMS0wL3RleHRyZWdpb246OGI4NWIzNWJiYmUyNDU5ZGJiZWM1MTA2N2ZhNzUzNmRfOQ_4715a339-9fcc-484f-b90c-0a56a6e50fe2"
      unitRef="number">0.479</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate
      contextRef="ifce9729e89854fce8d5efcb751b2e93e_D20210101-20210630"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjYxYzI5MjJjYTJmMTQyNTFhNTAxYjZhOWQ3YjE1NWZhL3RhYmxlcmFuZ2U6NjFjMjkyMmNhMmYxNDI1MWE1MDFiNmE5ZDdiMTU1ZmFfNC0xLTEtMS0wL3RleHRyZWdpb246Y2RhMzI2NWIyYjIxNDliN2E1ZTA5ZGE2MDFhYmRjNTVfNA_8e7f798f-0b3b-4a87-9ffc-a0ef6a4a2c4d"
      unitRef="number">0.001</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum
      contextRef="ib3f63a87a1da4121964520f5bdb389f8_D20200101-20200630"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjYxYzI5MjJjYTJmMTQyNTFhNTAxYjZhOWQ3YjE1NWZhL3RhYmxlcmFuZ2U6NjFjMjkyMmNhMmYxNDI1MWE1MDFiNmE5ZDdiMTU1ZmFfNC0zLTEtMS0wL3RleHRyZWdpb246NmVhNzFlNjJiNzAxNDM5ZjgwYTI5MjQ1MDQxMTY1ZmZfNA_cbcaef75-9b44-445b-af7b-2932c0eb505d"
      unitRef="number">0.008</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMinimum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum
      contextRef="ib3f63a87a1da4121964520f5bdb389f8_D20200101-20200630"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjYxYzI5MjJjYTJmMTQyNTFhNTAxYjZhOWQ3YjE1NWZhL3RhYmxlcmFuZ2U6NjFjMjkyMmNhMmYxNDI1MWE1MDFiNmE5ZDdiMTU1ZmFfNC0zLTEtMS0wL3RleHRyZWdpb246NmVhNzFlNjJiNzAxNDM5ZjgwYTI5MjQ1MDQxMTY1ZmZfOQ_754c653e-d33b-4d60-bad6-79cc13e0f964"
      unitRef="number">0.009</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRateMaximum>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="ifce9729e89854fce8d5efcb751b2e93e_D20210101-20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjYxYzI5MjJjYTJmMTQyNTFhNTAxYjZhOWQ3YjE1NWZhL3RhYmxlcmFuZ2U6NjFjMjkyMmNhMmYxNDI1MWE1MDFiNmE5ZDdiMTU1ZmFfNS0xLTEtMS0w_0c778d95-ec41-40f4-b35c-b660b25f9d2b"
      unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate
      contextRef="ib3f63a87a1da4121964520f5bdb389f8_D20200101-20200630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83MC9mcmFnOjM2M2IwMzcwZTRjMzRhMzhiMDE2ZWQ0MWJiZDUyZDZhL3RhYmxlOjYxYzI5MjJjYTJmMTQyNTFhNTAxYjZhOWQ3YjE1NWZhL3RhYmxlcmFuZ2U6NjFjMjkyMmNhMmYxNDI1MWE1MDFiNmE5ZDdiMTU1ZmFfNS0zLTEtMS0w_e536d320-e645-462c-803d-6dffd408da08"
      unitRef="number">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RleHRyZWdpb246NDJhOWMzMGY3NGNjNDZiNzk0OTNmNWNmNmFjOGJiNTZfMjY5_6139b89c-8a93-4af1-bb38-6834cd44fc14">Net Loss Per Share&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the computation of basic and diluted net loss per share:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;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.483%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.986%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands, except per share data)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,638)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,960)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(19,386)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(34,937)&lt;/span&gt;&lt;/td&gt;&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 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 #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 2px 5.5pt;text-align:left;text-indent:-4.5pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average shares used to compute net loss per share, basic and diluted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;105,869&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100,209&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;105,203&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99,532&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:4.5pt;text-indent:-4.5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss per share, basic and diluted&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.11)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.12)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.18)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.35)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following potentially dilutive securities have been excluded from the diluted per share calculations because they would have been antidilutive:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;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:67.927%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.038%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.041%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,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;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,058&#160;&lt;/span&gt;&lt;/td&gt;&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;RSUs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,052&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,436&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Shares to be issued under the 2018 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;217&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;255&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;297&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,470&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,046&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RleHRyZWdpb246NDJhOWMzMGY3NGNjNDZiNzk0OTNmNWNmNmFjOGJiNTZfMjY3_7f1c1bc7-18e1-4e56-b976-184da4a0c6dc">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the computation of basic and diluted net loss per share:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;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.483%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.986%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands, except per share data)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,638)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,960)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(19,386)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(34,937)&lt;/span&gt;&lt;/td&gt;&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 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 #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 2px 5.5pt;text-align:left;text-indent:-4.5pt;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average shares used to compute net loss per share, basic and diluted&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;105,869&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100,209&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;105,203&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99,532&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="padding-left:4.5pt;text-indent:-4.5pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net loss per share, basic and diluted&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.11)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.12)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.18)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(0.35)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RhYmxlOjFkNzhkYTcxNzVjMjRjMTNhMjc2ODk5Mjg3ZWFjNmY2L3RhYmxlcmFuZ2U6MWQ3OGRhNzE3NWMyNGMxM2EyNzY4OTkyODdlYWM2ZjZfMi0xLTEtMS0yNzY_bdcd8630-ef7f-4fcf-ae76-6b662c0a828a"
      unitRef="usd">-11638000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RhYmxlOjFkNzhkYTcxNzVjMjRjMTNhMjc2ODk5Mjg3ZWFjNmY2L3RhYmxlcmFuZ2U6MWQ3OGRhNzE3NWMyNGMxM2EyNzY4OTkyODdlYWM2ZjZfMi0zLTEtMS0yNzY_dbde34b5-679d-401b-a1ff-37e06b3ced23"
      unitRef="usd">-11960000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RhYmxlOjFkNzhkYTcxNzVjMjRjMTNhMjc2ODk5Mjg3ZWFjNmY2L3RhYmxlcmFuZ2U6MWQ3OGRhNzE3NWMyNGMxM2EyNzY4OTkyODdlYWM2ZjZfMi01LTEtMS0yNzY_52d9d2b0-d35c-49e1-be6f-822bdd85072d"
      unitRef="usd">-19386000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RhYmxlOjFkNzhkYTcxNzVjMjRjMTNhMjc2ODk5Mjg3ZWFjNmY2L3RhYmxlcmFuZ2U6MWQ3OGRhNzE3NWMyNGMxM2EyNzY4OTkyODdlYWM2ZjZfMi03LTEtMS0yNzY_fe744342-d246-48c8-914d-191722d8eb8d"
      unitRef="usd">-34937000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RhYmxlOjFkNzhkYTcxNzVjMjRjMTNhMjc2ODk5Mjg3ZWFjNmY2L3RhYmxlcmFuZ2U6MWQ3OGRhNzE3NWMyNGMxM2EyNzY4OTkyODdlYWM2ZjZfNC0xLTEtMS0yNzY_5f79738a-ca5c-49ed-9fa4-a44ce8dd7f93"
      unitRef="shares">105869000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RhYmxlOjFkNzhkYTcxNzVjMjRjMTNhMjc2ODk5Mjg3ZWFjNmY2L3RhYmxlcmFuZ2U6MWQ3OGRhNzE3NWMyNGMxM2EyNzY4OTkyODdlYWM2ZjZfNC0xLTEtMS0yNzY_eedef7d3-5353-4087-9e61-299c22185f39"
      unitRef="shares">105869000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RhYmxlOjFkNzhkYTcxNzVjMjRjMTNhMjc2ODk5Mjg3ZWFjNmY2L3RhYmxlcmFuZ2U6MWQ3OGRhNzE3NWMyNGMxM2EyNzY4OTkyODdlYWM2ZjZfNC0zLTEtMS0yNzY_4cba2a17-cea2-4ca3-a5ff-71d77e8a663a"
      unitRef="shares">100209000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RhYmxlOjFkNzhkYTcxNzVjMjRjMTNhMjc2ODk5Mjg3ZWFjNmY2L3RhYmxlcmFuZ2U6MWQ3OGRhNzE3NWMyNGMxM2EyNzY4OTkyODdlYWM2ZjZfNC0zLTEtMS0yNzY_b7f66d86-b982-4cd8-bfde-321cf5f5bae4"
      unitRef="shares">100209000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RhYmxlOjFkNzhkYTcxNzVjMjRjMTNhMjc2ODk5Mjg3ZWFjNmY2L3RhYmxlcmFuZ2U6MWQ3OGRhNzE3NWMyNGMxM2EyNzY4OTkyODdlYWM2ZjZfNC01LTEtMS0yNzY_46592dee-24f2-4a63-b768-e4acdaac3d59"
      unitRef="shares">105203000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RhYmxlOjFkNzhkYTcxNzVjMjRjMTNhMjc2ODk5Mjg3ZWFjNmY2L3RhYmxlcmFuZ2U6MWQ3OGRhNzE3NWMyNGMxM2EyNzY4OTkyODdlYWM2ZjZfNC01LTEtMS0yNzY_724189ad-1dbb-4ea6-868c-0c482dc68b1d"
      unitRef="shares">105203000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RhYmxlOjFkNzhkYTcxNzVjMjRjMTNhMjc2ODk5Mjg3ZWFjNmY2L3RhYmxlcmFuZ2U6MWQ3OGRhNzE3NWMyNGMxM2EyNzY4OTkyODdlYWM2ZjZfNC03LTEtMS0yNzY_b45f629f-ae5a-44e5-b376-d4d3b62eb103"
      unitRef="shares">99532000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RhYmxlOjFkNzhkYTcxNzVjMjRjMTNhMjc2ODk5Mjg3ZWFjNmY2L3RhYmxlcmFuZ2U6MWQ3OGRhNzE3NWMyNGMxM2EyNzY4OTkyODdlYWM2ZjZfNC03LTEtMS0yNzY_eb77622f-1dac-4e6f-a30e-f91d8ffcc773"
      unitRef="shares">99532000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RhYmxlOjFkNzhkYTcxNzVjMjRjMTNhMjc2ODk5Mjg3ZWFjNmY2L3RhYmxlcmFuZ2U6MWQ3OGRhNzE3NWMyNGMxM2EyNzY4OTkyODdlYWM2ZjZfNS0xLTEtMS0yNzY_49b4127f-bf53-4cbd-9ab8-290b64a25395"
      unitRef="usdPerShare">-0.11</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RhYmxlOjFkNzhkYTcxNzVjMjRjMTNhMjc2ODk5Mjg3ZWFjNmY2L3RhYmxlcmFuZ2U6MWQ3OGRhNzE3NWMyNGMxM2EyNzY4OTkyODdlYWM2ZjZfNS0xLTEtMS0yNzY_4bddb259-98eb-4600-8805-db48230884cb"
      unitRef="usdPerShare">-0.11</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RhYmxlOjFkNzhkYTcxNzVjMjRjMTNhMjc2ODk5Mjg3ZWFjNmY2L3RhYmxlcmFuZ2U6MWQ3OGRhNzE3NWMyNGMxM2EyNzY4OTkyODdlYWM2ZjZfNS0zLTEtMS0yNzY_7888368b-a336-44f0-a851-f118370d87ae"
      unitRef="usdPerShare">-0.12</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RhYmxlOjFkNzhkYTcxNzVjMjRjMTNhMjc2ODk5Mjg3ZWFjNmY2L3RhYmxlcmFuZ2U6MWQ3OGRhNzE3NWMyNGMxM2EyNzY4OTkyODdlYWM2ZjZfNS0zLTEtMS0yNzY_a52bfff8-179b-4dcf-b364-12b6507fdbd9"
      unitRef="usdPerShare">-0.12</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RhYmxlOjFkNzhkYTcxNzVjMjRjMTNhMjc2ODk5Mjg3ZWFjNmY2L3RhYmxlcmFuZ2U6MWQ3OGRhNzE3NWMyNGMxM2EyNzY4OTkyODdlYWM2ZjZfNS01LTEtMS0yNzY_3bcb3ccc-f10f-4e3c-87ca-7d8ac3b03615"
      unitRef="usdPerShare">-0.18</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RhYmxlOjFkNzhkYTcxNzVjMjRjMTNhMjc2ODk5Mjg3ZWFjNmY2L3RhYmxlcmFuZ2U6MWQ3OGRhNzE3NWMyNGMxM2EyNzY4OTkyODdlYWM2ZjZfNS01LTEtMS0yNzY_a60695b2-5926-4c85-accc-f6897c23d29a"
      unitRef="usdPerShare">-0.18</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RhYmxlOjFkNzhkYTcxNzVjMjRjMTNhMjc2ODk5Mjg3ZWFjNmY2L3RhYmxlcmFuZ2U6MWQ3OGRhNzE3NWMyNGMxM2EyNzY4OTkyODdlYWM2ZjZfNS03LTEtMS0yNzY_7e48dd22-0730-4342-ad4c-df040944139f"
      unitRef="usdPerShare">-0.35</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RhYmxlOjFkNzhkYTcxNzVjMjRjMTNhMjc2ODk5Mjg3ZWFjNmY2L3RhYmxlcmFuZ2U6MWQ3OGRhNzE3NWMyNGMxM2EyNzY4OTkyODdlYWM2ZjZfNS03LTEtMS0yNzY_adde42ef-7dbe-415b-8dba-254da5bcfe67"
      unitRef="usdPerShare">-0.35</us-gaap:EarningsPerShareDiluted>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RleHRyZWdpb246NDJhOWMzMGY3NGNjNDZiNzk0OTNmNWNmNmFjOGJiNTZfMjc1_d6e62abd-a822-4bbf-a7ee-283c475d2a05">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following potentially dilutive securities have been excluded from the diluted per share calculations because they would have been antidilutive:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;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:67.927%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.038%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.041%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock options&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,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;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,058&#160;&lt;/span&gt;&lt;/td&gt;&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;RSUs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,052&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,436&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Shares to be issued under the 2018 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;217&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;255&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Restricted stock&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;297&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,470&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td 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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,046&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i396fd5ebc1f44055ad2054bf9a1c49a1_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RhYmxlOjRlOTIyMjQ2ZjY2MTQ5Yjc4ODUxNWRjYWVhZGFlOTg1L3RhYmxlcmFuZ2U6NGU5MjIyNDZmNjYxNDliNzg4NTE1ZGNhZWFkYWU5ODVfMi0xLTEtMS0w_a7151ab3-c964-4471-ae7a-6eb611ede481"
      unitRef="shares">8201000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i6d7c52c63e1b42d9b4fa24003f968846_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RhYmxlOjRlOTIyMjQ2ZjY2MTQ5Yjc4ODUxNWRjYWVhZGFlOTg1L3RhYmxlcmFuZ2U6NGU5MjIyNDZmNjYxNDliNzg4NTE1ZGNhZWFkYWU5ODVfMi0zLTEtMS0w_874fa212-031b-4ac9-8a8c-ae13cd416e7a"
      unitRef="shares">11058000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i923ad0c4a05a45d3b834c6683e06183f_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RhYmxlOjRlOTIyMjQ2ZjY2MTQ5Yjc4ODUxNWRjYWVhZGFlOTg1L3RhYmxlcmFuZ2U6NGU5MjIyNDZmNjYxNDliNzg4NTE1ZGNhZWFkYWU5ODVfMy0xLTEtMS0w_0e0a8aa8-c3b4-48c6-8cb1-45c356761b80"
      unitRef="shares">6052000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="id3d5c8c1a24e45398c53449ac4145e40_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RhYmxlOjRlOTIyMjQ2ZjY2MTQ5Yjc4ODUxNWRjYWVhZGFlOTg1L3RhYmxlcmFuZ2U6NGU5MjIyNDZmNjYxNDliNzg4NTE1ZGNhZWFkYWU5ODVfMy0zLTEtMS0w_883f4f40-3785-4036-8f1e-ff80a1c70b02"
      unitRef="shares">5436000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i51101b975afe4e3091291705fbcaa50d_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RhYmxlOjRlOTIyMjQ2ZjY2MTQ5Yjc4ODUxNWRjYWVhZGFlOTg1L3RhYmxlcmFuZ2U6NGU5MjIyNDZmNjYxNDliNzg4NTE1ZGNhZWFkYWU5ODVfNC0xLTEtMS0w_2554f4c3-15a6-4de5-a77c-9ee5e93d71b4"
      unitRef="shares">217000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i7ecb359f1def4886bd09b9f40f3c840a_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RhYmxlOjRlOTIyMjQ2ZjY2MTQ5Yjc4ODUxNWRjYWVhZGFlOTg1L3RhYmxlcmFuZ2U6NGU5MjIyNDZmNjYxNDliNzg4NTE1ZGNhZWFkYWU5ODVfNC0zLTEtMS0w_1d323ac4-6394-4022-a124-6e66e4c811fb"
      unitRef="shares">255000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i612b4e6672cc49ce9514c455adb037a8_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RhYmxlOjRlOTIyMjQ2ZjY2MTQ5Yjc4ODUxNWRjYWVhZGFlOTg1L3RhYmxlcmFuZ2U6NGU5MjIyNDZmNjYxNDliNzg4NTE1ZGNhZWFkYWU5ODVfNS0xLTEtMS0w_57cc7517-f674-4287-930a-bb9d3508ceb1"
      unitRef="shares">0</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="id7ce9bb201e342a8a8a1c63ff743649c_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RhYmxlOjRlOTIyMjQ2ZjY2MTQ5Yjc4ODUxNWRjYWVhZGFlOTg1L3RhYmxlcmFuZ2U6NGU5MjIyNDZmNjYxNDliNzg4NTE1ZGNhZWFkYWU5ODVfNS0zLTEtMS0w_27daa8f9-476b-4d89-b19d-769e17231c2e"
      unitRef="shares">297000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RhYmxlOjRlOTIyMjQ2ZjY2MTQ5Yjc4ODUxNWRjYWVhZGFlOTg1L3RhYmxlcmFuZ2U6NGU5MjIyNDZmNjYxNDliNzg4NTE1ZGNhZWFkYWU5ODVfNi0xLTEtMS0w_e1310780-625f-45d6-bf54-d07798f57372"
      unitRef="shares">14470000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF83Ni9mcmFnOjQyYTljMzBmNzRjYzQ2Yjc5NDkzZjVjZjZhYzhiYjU2L3RhYmxlOjRlOTIyMjQ2ZjY2MTQ5Yjc4ODUxNWRjYWVhZGFlOTg1L3RhYmxlcmFuZ2U6NGU5MjIyNDZmNjYxNDliNzg4NTE1ZGNhZWFkYWU5ODVfNi0zLTEtMS0w_28a02b4e-bc46-4fef-96b1-1d88d1c20cc6"
      unitRef="shares">17046000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84Mi9mcmFnOmViMzAxMWQwYWEwNTQ0N2ViMTNjNWI5ZDVmNjkzNWE1L3RleHRyZWdpb246ZWIzMDExZDBhYTA1NDQ3ZWIxM2M1YjlkNWY2OTM1YTVfNTYw_0a99ad13-a450-4047-a700-b97df400df5d">Income Taxes&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the three months ended June 30, 2021, the income tax benefit included a $1.1 million deferred tax benefit related to the Alsid acquisition, which was partially offset by income taxes in certain foreign jurisdictions in which we conduct business and the related withholding taxes on sales with customers. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Additionally, in the six months ended June 30, 2021, the provision for income taxes was impacted by discrete items, including $2.8 million of current expense from the restructuring of our research and development operations in Israel, partially offset by $2.6&#160;million of discrete benefits, primarily related to a Supreme Court decision in India on the taxability of software license payments to nonresidents and the associated withholding taxes.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="ia6bb59814a0147439d7c5420b2613a46_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84Mi9mcmFnOmViMzAxMWQwYWEwNTQ0N2ViMTNjNWI5ZDVmNjkzNWE1L3RleHRyZWdpb246ZWIzMDExZDBhYTA1NDQ3ZWIxM2M1YjlkNWY2OTM1YTVfMTA5OTUxMTYyODQ2NQ_bd2d9ae8-2ad2-42e8-8bd6-bc2c301aa943"
      unitRef="usd">-1100000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment
      contextRef="i6c9d801df56c4756a8a1b54107296673_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84Mi9mcmFnOmViMzAxMWQwYWEwNTQ0N2ViMTNjNWI5ZDVmNjkzNWE1L3RleHRyZWdpb246ZWIzMDExZDBhYTA1NDQ3ZWIxM2M1YjlkNWY2OTM1YTVfMjYz_a0c39ae6-bd45-4917-bf99-cf0ff65a6b14"
      unitRef="usd">2800000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment>
    <us-gaap:IncomeTaxReconciliationTaxSettlementsForeign
      contextRef="i40e17a6c1cdd4e20bd7bd2c679dfe7cc_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84Mi9mcmFnOmViMzAxMWQwYWEwNTQ0N2ViMTNjNWI5ZDVmNjkzNWE1L3RleHRyZWdpb246ZWIzMDExZDBhYTA1NDQ3ZWIxM2M1YjlkNWY2OTM1YTVfMzgx_c6a30e48-7c8c-472f-aafd-db82e5aa3461"
      unitRef="usd">-2600000</us-gaap:IncomeTaxReconciliationTaxSettlementsForeign>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84NS9mcmFnOjRiYzFkYzlkZDc4MDQ0YzI5MjU0NDM1OGM4ZjJhZjg5L3RleHRyZWdpb246NGJjMWRjOWRkNzgwNDRjMjkyNTQ0MzU4YzhmMmFmODlfNzA2_7c2a23e6-cc6e-48ab-b7ba-58550658f43d">Geographic InformationWe operate as one operating segment. Our Chief Executive Officer, who is our chief operating decision maker, reviews financial information on a consolidated basis for purposes of making operating decisions, allocating resources, and evaluating financial performance.&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue by region, based on the address of the end user as specified in our subscription, license or service agreements, was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;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.483%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.986%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;The Americas&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;84,462&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,946&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;165,057&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;141,260&#160;&lt;/span&gt;&lt;/td&gt;&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Europe, Middle East and Africa&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,947&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,642&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61,213&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,192&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asia Pacific&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,850&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,621&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,178&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,405&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenue&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;130,259&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107,209&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;253,448&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;209,857&#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-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Customers located in the United States accounted for 59%, 61%, 59% and 62% of revenue in the three months ended June 30, 2021 and 2020 and the six months ended June 30, 2021 and 2020, respectively. No other country accounted for 10% or more of revenue in the periods presented.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our property and equipment, net by geographic area is summarized as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;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.038%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.427%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.541%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30, 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December&#160;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,249&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,406&#160;&lt;/span&gt;&lt;/td&gt;&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,158&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,514&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,407&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,920&#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:SegmentReportingDisclosureTextBlock>
    <us-gaap:NumberOfOperatingSegments
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84NS9mcmFnOjRiYzFkYzlkZDc4MDQ0YzI5MjU0NDM1OGM4ZjJhZjg5L3RleHRyZWdpb246NGJjMWRjOWRkNzgwNDRjMjkyNTQ0MzU4YzhmMmFmODlfNDY_9bf5b7e4-1baf-4712-abab-9e0cc92de115"
      unitRef="segment">1</us-gaap:NumberOfOperatingSegments>
    <us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84NS9mcmFnOjRiYzFkYzlkZDc4MDQ0YzI5MjU0NDM1OGM4ZjJhZjg5L3RleHRyZWdpb246NGJjMWRjOWRkNzgwNDRjMjkyNTQ0MzU4YzhmMmFmODlfNzA3_c2a216b7-6c06-4581-acaa-ca69f4ccabd2">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue by region, based on the address of the end user as specified in our subscription, license or service agreements, was as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;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.483%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.983%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.986%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;The Americas&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;84,462&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;71,946&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;165,057&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;141,260&#160;&lt;/span&gt;&lt;/td&gt;&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Europe, Middle East and Africa&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,947&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;24,642&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61,213&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;48,192&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Asia Pacific&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;13,850&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,621&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,178&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,405&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenue&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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;130,259&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107,209&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;253,448&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;209,857&#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:RevenueFromExternalCustomersByGeographicAreasTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i13d1dd04f3314e15a31d8092ce030bc3_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84NS9mcmFnOjRiYzFkYzlkZDc4MDQ0YzI5MjU0NDM1OGM4ZjJhZjg5L3RhYmxlOjBlZDZhOTEzYTBiZjRhMjdiZDMxZmVkM2FmODRjYTk2L3RhYmxlcmFuZ2U6MGVkNmE5MTNhMGJmNGEyN2JkMzFmZWQzYWY4NGNhOTZfMi0xLTEtMS0yOTk_043162fd-1ab7-4b97-8361-5042128fbeca"
      unitRef="usd">84462000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iceaf2abc3f7f415b97cc605e0776b076_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84NS9mcmFnOjRiYzFkYzlkZDc4MDQ0YzI5MjU0NDM1OGM4ZjJhZjg5L3RhYmxlOjBlZDZhOTEzYTBiZjRhMjdiZDMxZmVkM2FmODRjYTk2L3RhYmxlcmFuZ2U6MGVkNmE5MTNhMGJmNGEyN2JkMzFmZWQzYWY4NGNhOTZfMi0zLTEtMS0yOTk_148f66cd-949a-40cb-8fed-7d9583cae975"
      unitRef="usd">71946000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4baa37d014944dfbbe8b13e421010529_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84NS9mcmFnOjRiYzFkYzlkZDc4MDQ0YzI5MjU0NDM1OGM4ZjJhZjg5L3RhYmxlOjBlZDZhOTEzYTBiZjRhMjdiZDMxZmVkM2FmODRjYTk2L3RhYmxlcmFuZ2U6MGVkNmE5MTNhMGJmNGEyN2JkMzFmZWQzYWY4NGNhOTZfMi01LTEtMS0yOTk_28a82892-d374-493e-8f91-7d500ab37da9"
      unitRef="usd">165057000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i495cf4b391b748dfae37eb9faf2612a4_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84NS9mcmFnOjRiYzFkYzlkZDc4MDQ0YzI5MjU0NDM1OGM4ZjJhZjg5L3RhYmxlOjBlZDZhOTEzYTBiZjRhMjdiZDMxZmVkM2FmODRjYTk2L3RhYmxlcmFuZ2U6MGVkNmE5MTNhMGJmNGEyN2JkMzFmZWQzYWY4NGNhOTZfMi03LTEtMS0yOTk_2c498506-3bc0-4534-833b-ae38cb24325a"
      unitRef="usd">141260000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i488e84b8447e4be69cb1b8a292abc176_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84NS9mcmFnOjRiYzFkYzlkZDc4MDQ0YzI5MjU0NDM1OGM4ZjJhZjg5L3RhYmxlOjBlZDZhOTEzYTBiZjRhMjdiZDMxZmVkM2FmODRjYTk2L3RhYmxlcmFuZ2U6MGVkNmE5MTNhMGJmNGEyN2JkMzFmZWQzYWY4NGNhOTZfMy0xLTEtMS0yOTk_097cf85d-f4a7-48c1-ac8b-506f73cf8b3b"
      unitRef="usd">31947000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i814dfa65524b4ea896ed50c21959d32e_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84NS9mcmFnOjRiYzFkYzlkZDc4MDQ0YzI5MjU0NDM1OGM4ZjJhZjg5L3RhYmxlOjBlZDZhOTEzYTBiZjRhMjdiZDMxZmVkM2FmODRjYTk2L3RhYmxlcmFuZ2U6MGVkNmE5MTNhMGJmNGEyN2JkMzFmZWQzYWY4NGNhOTZfMy0zLTEtMS0yOTk_d2ee8806-e8ea-441e-a320-e6d692c17083"
      unitRef="usd">24642000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i351baa722f17421896acb01d7c350693_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84NS9mcmFnOjRiYzFkYzlkZDc4MDQ0YzI5MjU0NDM1OGM4ZjJhZjg5L3RhYmxlOjBlZDZhOTEzYTBiZjRhMjdiZDMxZmVkM2FmODRjYTk2L3RhYmxlcmFuZ2U6MGVkNmE5MTNhMGJmNGEyN2JkMzFmZWQzYWY4NGNhOTZfMy01LTEtMS0yOTk_dbb45e79-edb8-45f9-b874-e6e3e9e9a6dd"
      unitRef="usd">61213000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9d92f2d5f1d448f2af32e807ae162926_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84NS9mcmFnOjRiYzFkYzlkZDc4MDQ0YzI5MjU0NDM1OGM4ZjJhZjg5L3RhYmxlOjBlZDZhOTEzYTBiZjRhMjdiZDMxZmVkM2FmODRjYTk2L3RhYmxlcmFuZ2U6MGVkNmE5MTNhMGJmNGEyN2JkMzFmZWQzYWY4NGNhOTZfMy03LTEtMS0yOTk_de08f1f3-361f-4644-b2ac-61088f2a6872"
      unitRef="usd">48192000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="icfd9a5d6acad4e6b81a9a1463b054d63_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84NS9mcmFnOjRiYzFkYzlkZDc4MDQ0YzI5MjU0NDM1OGM4ZjJhZjg5L3RhYmxlOjBlZDZhOTEzYTBiZjRhMjdiZDMxZmVkM2FmODRjYTk2L3RhYmxlcmFuZ2U6MGVkNmE5MTNhMGJmNGEyN2JkMzFmZWQzYWY4NGNhOTZfNC0xLTEtMS0yOTk_f2d78fe9-9145-448d-b32c-39eb72069600"
      unitRef="usd">13850000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id2556de562a744458990ca59966cdaed_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84NS9mcmFnOjRiYzFkYzlkZDc4MDQ0YzI5MjU0NDM1OGM4ZjJhZjg5L3RhYmxlOjBlZDZhOTEzYTBiZjRhMjdiZDMxZmVkM2FmODRjYTk2L3RhYmxlcmFuZ2U6MGVkNmE5MTNhMGJmNGEyN2JkMzFmZWQzYWY4NGNhOTZfNC0zLTEtMS0yOTk_9a1abbe6-be7b-49f0-a227-d13db6b530cd"
      unitRef="usd">10621000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ifabbec6449a34916ad9df5e29d2f6f6e_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84NS9mcmFnOjRiYzFkYzlkZDc4MDQ0YzI5MjU0NDM1OGM4ZjJhZjg5L3RhYmxlOjBlZDZhOTEzYTBiZjRhMjdiZDMxZmVkM2FmODRjYTk2L3RhYmxlcmFuZ2U6MGVkNmE5MTNhMGJmNGEyN2JkMzFmZWQzYWY4NGNhOTZfNC01LTEtMS0yOTk_3fecd9a5-8230-4b23-ace1-83b64c9d9238"
      unitRef="usd">27178000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iea3bd684046647f78229f9ceba0f6ee8_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84NS9mcmFnOjRiYzFkYzlkZDc4MDQ0YzI5MjU0NDM1OGM4ZjJhZjg5L3RhYmxlOjBlZDZhOTEzYTBiZjRhMjdiZDMxZmVkM2FmODRjYTk2L3RhYmxlcmFuZ2U6MGVkNmE5MTNhMGJmNGEyN2JkMzFmZWQzYWY4NGNhOTZfNC03LTEtMS0yOTk_28d6c2a3-4fde-474b-adda-b2fb1b3ca1cc"
      unitRef="usd">20405000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2b63af49564d4f69aee389c1126ded70_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84NS9mcmFnOjRiYzFkYzlkZDc4MDQ0YzI5MjU0NDM1OGM4ZjJhZjg5L3RhYmxlOjBlZDZhOTEzYTBiZjRhMjdiZDMxZmVkM2FmODRjYTk2L3RhYmxlcmFuZ2U6MGVkNmE5MTNhMGJmNGEyN2JkMzFmZWQzYWY4NGNhOTZfNS0xLTEtMS03NDY_9b7903f4-f01c-4b2e-a5d9-6857e245ed32"
      unitRef="usd">130259000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4ac11e97918c47da9601718dc75d1312_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84NS9mcmFnOjRiYzFkYzlkZDc4MDQ0YzI5MjU0NDM1OGM4ZjJhZjg5L3RhYmxlOjBlZDZhOTEzYTBiZjRhMjdiZDMxZmVkM2FmODRjYTk2L3RhYmxlcmFuZ2U6MGVkNmE5MTNhMGJmNGEyN2JkMzFmZWQzYWY4NGNhOTZfNS0zLTEtMS03NDY_6bbc94b0-d7d0-4e52-b60e-b321d23c2f0c"
      unitRef="usd">107209000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84NS9mcmFnOjRiYzFkYzlkZDc4MDQ0YzI5MjU0NDM1OGM4ZjJhZjg5L3RhYmxlOjBlZDZhOTEzYTBiZjRhMjdiZDMxZmVkM2FmODRjYTk2L3RhYmxlcmFuZ2U6MGVkNmE5MTNhMGJmNGEyN2JkMzFmZWQzYWY4NGNhOTZfNS01LTEtMS03NDY_84f076d3-c9b5-45d6-9854-0f6df2db7a15"
      unitRef="usd">253448000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id5f1089018c54912a051c187331f9450_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84NS9mcmFnOjRiYzFkYzlkZDc4MDQ0YzI5MjU0NDM1OGM4ZjJhZjg5L3RhYmxlOjBlZDZhOTEzYTBiZjRhMjdiZDMxZmVkM2FmODRjYTk2L3RhYmxlcmFuZ2U6MGVkNmE5MTNhMGJmNGEyN2JkMzFmZWQzYWY4NGNhOTZfNS03LTEtMS03NDY_9c19c0d4-a14d-4c72-991d-7b4367316ad2"
      unitRef="usd">209857000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ife678ccf080a43d1b0ee873703dbcaee_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84NS9mcmFnOjRiYzFkYzlkZDc4MDQ0YzI5MjU0NDM1OGM4ZjJhZjg5L3RleHRyZWdpb246NGJjMWRjOWRkNzgwNDRjMjkyNTQ0MzU4YzhmMmFmODlfMTA5OTUxMTYyODQ5OA_70bf7f4c-5684-43a8-a428-a7017c2647b3"
      unitRef="number">0.59</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ifedd5887072e44fea0263be0920a542b_D20200401-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84NS9mcmFnOjRiYzFkYzlkZDc4MDQ0YzI5MjU0NDM1OGM4ZjJhZjg5L3RleHRyZWdpb246NGJjMWRjOWRkNzgwNDRjMjkyNTQ0MzU4YzhmMmFmODlfMTA5OTUxMTYyODUwMw_4ca2753b-900e-4a01-8ea7-8b5a2dc4d305"
      unitRef="number">0.61</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ic8454b3e37874d90aa84f89024d5a8b1_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84NS9mcmFnOjRiYzFkYzlkZDc4MDQ0YzI5MjU0NDM1OGM4ZjJhZjg5L3RleHRyZWdpb246NGJjMWRjOWRkNzgwNDRjMjkyNTQ0MzU4YzhmMmFmODlfNDkw_de324903-4489-485e-8f2f-b3665a5049d6"
      unitRef="number">0.59</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1
      contextRef="ibdd83831e18248e2a5f750063da3ff99_D20200101-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84NS9mcmFnOjRiYzFkYzlkZDc4MDQ0YzI5MjU0NDM1OGM4ZjJhZjg5L3RleHRyZWdpb246NGJjMWRjOWRkNzgwNDRjMjkyNTQ0MzU4YzhmMmFmODlfNDk3_05ef4083-b9d9-415c-a623-82171f9edcb5"
      unitRef="number">0.62</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84NS9mcmFnOjRiYzFkYzlkZDc4MDQ0YzI5MjU0NDM1OGM4ZjJhZjg5L3RleHRyZWdpb246NGJjMWRjOWRkNzgwNDRjMjkyNTQ0MzU4YzhmMmFmODlfNzA4_489c6307-4651-471f-b5a3-84c1b93ec6d6">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our property and equipment, net by geographic area is summarized as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;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.038%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.427%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.494%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.541%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;(in thousands)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30, 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:'Arial',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December&#160;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;United States&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,249&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align: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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,406&#160;&lt;/span&gt;&lt;/td&gt;&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:'Arial',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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,158&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,514&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,407&#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:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,920&#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:LongLivedAssetsByGeographicAreasTableTextBlock>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="i953f07c4b2494d26a6fe01799a51bc24_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84NS9mcmFnOjRiYzFkYzlkZDc4MDQ0YzI5MjU0NDM1OGM4ZjJhZjg5L3RhYmxlOjkwNzFiYjc2ODFkZTQ0NTJiMjgyNzAwNzZiOWIyOTdiL3RhYmxlcmFuZ2U6OTA3MWJiNzY4MWRlNDQ1MmIyODI3MDA3NmI5YjI5N2JfMS0xLTEtMS0w_5cb46453-b33f-40d4-919c-4878fd8dddf5"
      unitRef="usd">34249000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="i9f48e296bbbe4beea96e1571984ae057_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84NS9mcmFnOjRiYzFkYzlkZDc4MDQ0YzI5MjU0NDM1OGM4ZjJhZjg5L3RhYmxlOjkwNzFiYjc2ODFkZTQ0NTJiMjgyNzAwNzZiOWIyOTdiL3RhYmxlcmFuZ2U6OTA3MWJiNzY4MWRlNDQ1MmIyODI3MDA3NmI5YjI5N2JfMS0zLTEtMS0w_c1c325c3-7ce0-4bd4-8e24-4f49c940e691"
      unitRef="usd">35406000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="if1e713ad3e5a49d0b2c7ff7d99db7945_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84NS9mcmFnOjRiYzFkYzlkZDc4MDQ0YzI5MjU0NDM1OGM4ZjJhZjg5L3RhYmxlOjkwNzFiYjc2ODFkZTQ0NTJiMjgyNzAwNzZiOWIyOTdiL3RhYmxlcmFuZ2U6OTA3MWJiNzY4MWRlNDQ1MmIyODI3MDA3NmI5YjI5N2JfMi0xLTEtMS0w_9f4ac2a0-2e65-49c2-9d77-8615754cbec5"
      unitRef="usd">3158000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="i2ec6ef1f0aaa43218a8f98388554346e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84NS9mcmFnOjRiYzFkYzlkZDc4MDQ0YzI5MjU0NDM1OGM4ZjJhZjg5L3RhYmxlOjkwNzFiYjc2ODFkZTQ0NTJiMjgyNzAwNzZiOWIyOTdiL3RhYmxlcmFuZ2U6OTA3MWJiNzY4MWRlNDQ1MmIyODI3MDA3NmI5YjI5N2JfMi0zLTEtMS0w_dab34d96-25b7-4925-9fb6-98fdfbdbe77b"
      unitRef="usd">3514000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="i1eb7457b361a47628cdf051bb1358f38_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84NS9mcmFnOjRiYzFkYzlkZDc4MDQ0YzI5MjU0NDM1OGM4ZjJhZjg5L3RhYmxlOjkwNzFiYjc2ODFkZTQ0NTJiMjgyNzAwNzZiOWIyOTdiL3RhYmxlcmFuZ2U6OTA3MWJiNzY4MWRlNDQ1MmIyODI3MDA3NmI5YjI5N2JfMy0xLTEtMS0w_2ba66240-1f2d-4e37-b0dd-dc609f593397"
      unitRef="usd">37407000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization
      contextRef="ia0b14dbbed9b4a74960038d0eccd387e_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF84NS9mcmFnOjRiYzFkYzlkZDc4MDQ0YzI5MjU0NDM1OGM4ZjJhZjg5L3RhYmxlOjkwNzFiYjc2ODFkZTQ0NTJiMjgyNzAwNzZiOWIyOTdiL3RhYmxlcmFuZ2U6OTA3MWJiNzY4MWRlNDQ1MmIyODI3MDA3NmI5YjI5N2JfMy0zLTEtMS0w_e84ebdd6-ce17-4eae-b46b-04410fc4fe4c"
      unitRef="usd">38920000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="i54f74c3ff7eb4c6d80e84866a86c2054_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMDYwL2ZyYWc6MjgwMzZhYzI4YjdiNGEyYThjYzg1MjdiYTBhYzhmZTkvdGV4dHJlZ2lvbjoyODAzNmFjMjhiN2I0YTJhOGNjODUyN2JhMGFjOGZlOV8yNzQ4Nzc5MDcwNjUy_1ce603c2-224e-4d24-ac74-433bfb113dcd">Subsequent Events&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Term Loan&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In July 2021, we entered into a credit agreement ("Credit Agreement") which is comprised of a $375.0&#160;million senior secured term loan facility ("Term Loan") and a $50.0&#160;million senior secured revolving credit facility ("Revolving Credit Facility") with a $15.0&#160;million letter of credit sublimit. The Term Loan bears interest at a rate of 2.75% per annum over LIBOR, subject to a 0.50% floor. The Term Loan will amortize at 1% per annum in equal quarterly installments, starting in March 2022 until the final maturity date on July 7, 2028. The Revolving Credit Facility bears interest at a rate, depending on first lien net leverage, ranging from 2.00% to 2.50% over LIBOR and matures on July 7, 2026. We will pay a commitment fee during the term of the Credit Agreement ranging from 0.25% to 0.375% per annum of the average daily undrawn portion of the revolving commitments based on the first lien net leverage ratio. The Credit Agreement contains customary representations and warranties and affirmative and negative covenants. Additionally, if at least 35% of the Revolving Credit Facility is drawn on the last day of the quarter, the total net leverage ratio cannot be greater than 5.50 to 1.00. Since the closing date, there have been no amounts outstanding under the Revolving Credit Facility. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In connection with the Credit Agreement, we terminated the 2020 Credit Facility, which included the release of all related guarantees and liens.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Commitments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Arial',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In July 2021, we entered into a contract with Amazon Web Services, Inc. for cloud services from August 2021 through July 2024. Under the terms of the contract, we committed to spend $43.7 million, $46.8 million and $50.1 million in contract years 1, 2 and 3, respectively, for a total spend of $140.6 million.&lt;/span&gt;&lt;/div&gt;</us-gaap:SubsequentEventsTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="ic311e9f2c92f40c88e2632ae6e3d706a_I20210731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMDYwL2ZyYWc6MjgwMzZhYzI4YjdiNGEyYThjYzg1MjdiYTBhYzhmZTkvdGV4dHJlZ2lvbjoyODAzNmFjMjhiN2I0YTJhOGNjODUyN2JhMGFjOGZlOV8xMDk5NTExNjI3OTU2_68d3666c-fd5b-40ac-bb10-e4ab7ba5aaa9"
      unitRef="usd">375000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i474394868d884bd19aa8b62c2106628e_I20210731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMDYwL2ZyYWc6MjgwMzZhYzI4YjdiNGEyYThjYzg1MjdiYTBhYzhmZTkvdGV4dHJlZ2lvbjoyODAzNmFjMjhiN2I0YTJhOGNjODUyN2JhMGFjOGZlOV8xMDk5NTExNjI4MDE4_9cf4aed2-be9a-45ae-bbd8-a6c9215894b7"
      unitRef="usd">50000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="ic27507748aa74c68adbf02cda170b247_I20210731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMDYwL2ZyYWc6MjgwMzZhYzI4YjdiNGEyYThjYzg1MjdiYTBhYzhmZTkvdGV4dHJlZ2lvbjoyODAzNmFjMjhiN2I0YTJhOGNjODUyN2JhMGFjOGZlOV8xMDk5NTExNjI4MTA0_8eff01f2-80e9-451d-8a3a-9db715436947"
      unitRef="usd">15000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i6b47cf5d148845e39305f9c56cb03386_D20210701-20210731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMDYwL2ZyYWc6MjgwMzZhYzI4YjdiNGEyYThjYzg1MjdiYTBhYzhmZTkvdGV4dHJlZ2lvbjoyODAzNmFjMjhiN2I0YTJhOGNjODUyN2JhMGFjOGZlOV8xMDk5NTExNjI4MTc3_a094b3b1-d93d-4652-9d5d-eb6728196df1"
      unitRef="number">0.0275</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <tenb:DebtInstrumentBasisSpreadonVariableRateVariableRateFloor
      contextRef="i6b47cf5d148845e39305f9c56cb03386_D20210701-20210731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMDYwL2ZyYWc6MjgwMzZhYzI4YjdiNGEyYThjYzg1MjdiYTBhYzhmZTkvdGV4dHJlZ2lvbjoyODAzNmFjMjhiN2I0YTJhOGNjODUyN2JhMGFjOGZlOV8xMDk5NTExNjI4MjE2_6a71485b-c216-44a4-b776-025ad84694af"
      unitRef="number">0.0050</tenb:DebtInstrumentBasisSpreadonVariableRateVariableRateFloor>
    <tenb:DebtInstrumentAnnualAmortizationPercent
      contextRef="i22d4ed2ef0094089aaa256598254a397_I20210731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMDYwL2ZyYWc6MjgwMzZhYzI4YjdiNGEyYThjYzg1MjdiYTBhYzhmZTkvdGV4dHJlZ2lvbjoyODAzNmFjMjhiN2I0YTJhOGNjODUyN2JhMGFjOGZlOV8xMDk5NTExNjI4MjU4_ad868274-c89b-4c14-9ff3-2f985f19bc8b"
      unitRef="number">0.01</tenb:DebtInstrumentAnnualAmortizationPercent>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i2f035c8204a54bdd8ef4cf49834546a6_D20210701-20210731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMDYwL2ZyYWc6MjgwMzZhYzI4YjdiNGEyYThjYzg1MjdiYTBhYzhmZTkvdGV4dHJlZ2lvbjoyODAzNmFjMjhiN2I0YTJhOGNjODUyN2JhMGFjOGZlOV8xMDk5NTExNjI4NDc1_fbc04c3f-2521-44c8-a34b-d2a4bffebe26"
      unitRef="number">0.0200</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i8efe38317e0f4896b0bffe4230ba98d0_D20210701-20210731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMDYwL2ZyYWc6MjgwMzZhYzI4YjdiNGEyYThjYzg1MjdiYTBhYzhmZTkvdGV4dHJlZ2lvbjoyODAzNmFjMjhiN2I0YTJhOGNjODUyN2JhMGFjOGZlOV8xMDk5NTExNjI4NDgy_210ca524-96ab-4555-8e43-17a78342946d"
      unitRef="number">0.0250</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage
      contextRef="ic1212a787fba4e16acba5a991f6749f8_D20210701-20210731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMDYwL2ZyYWc6MjgwMzZhYzI4YjdiNGEyYThjYzg1MjdiYTBhYzhmZTkvdGV4dHJlZ2lvbjoyODAzNmFjMjhiN2I0YTJhOGNjODUyN2JhMGFjOGZlOV8xMDk5NTExNjI4NjA4_dbc2c933-2af3-4760-971d-8787f70b38a0"
      unitRef="number">0.0025</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
    <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage
      contextRef="i016d39a0111043fd9c193c5da349eac7_D20210701-20210731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMDYwL2ZyYWc6MjgwMzZhYzI4YjdiNGEyYThjYzg1MjdiYTBhYzhmZTkvdGV4dHJlZ2lvbjoyODAzNmFjMjhiN2I0YTJhOGNjODUyN2JhMGFjOGZlOV8xMDk5NTExNjI4NjE1_32933d6f-4707-4478-918f-8313338a22cf"
      unitRef="number">0.00375</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
    <tenb:DebtInstrumentCovenantPercentDrawnOnLineOfCreditMinimum
      contextRef="i63371de6fd9942f8944e9b6e3fd97814_I20210731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMDYwL2ZyYWc6MjgwMzZhYzI4YjdiNGEyYThjYzg1MjdiYTBhYzhmZTkvdGV4dHJlZ2lvbjoyODAzNmFjMjhiN2I0YTJhOGNjODUyN2JhMGFjOGZlOV8yNzQ4Nzc5MDc3NTgx_f1639c48-9175-457f-980d-1903d475acb2"
      unitRef="number">0.35</tenb:DebtInstrumentCovenantPercentDrawnOnLineOfCreditMinimum>
    <tenb:DebtInstrumentCovenantLeverageRatioMaximum
      contextRef="i63371de6fd9942f8944e9b6e3fd97814_I20210731"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMDYwL2ZyYWc6MjgwMzZhYzI4YjdiNGEyYThjYzg1MjdiYTBhYzhmZTkvdGV4dHJlZ2lvbjoyODAzNmFjMjhiN2I0YTJhOGNjODUyN2JhMGFjOGZlOV8yNzQ4Nzc5MDc3NTg2_630ffd0e-3d55-4cc1-b8a7-d39a768bbd89"
      unitRef="number">5.50</tenb:DebtInstrumentCovenantLeverageRatioMaximum>
    <us-gaap:LineOfCreditFacilityFairValueOfAmountOutstanding
      contextRef="if547456f2ff84257bddd900fb0f6fb4d_I20210731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMDYwL2ZyYWc6MjgwMzZhYzI4YjdiNGEyYThjYzg1MjdiYTBhYzhmZTkvdGV4dHJlZ2lvbjoyODAzNmFjMjhiN2I0YTJhOGNjODUyN2JhMGFjOGZlOV8xMDk5NTExNjI4Nzc5_58a72832-4a0e-483b-bceb-20f989359130"
      unitRef="usd">0</us-gaap:LineOfCreditFacilityFairValueOfAmountOutstanding>
    <us-gaap:PurchaseObligationDueInNextTwelveMonths
      contextRef="i63371de6fd9942f8944e9b6e3fd97814_I20210731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMDYwL2ZyYWc6MjgwMzZhYzI4YjdiNGEyYThjYzg1MjdiYTBhYzhmZTkvdGV4dHJlZ2lvbjoyODAzNmFjMjhiN2I0YTJhOGNjODUyN2JhMGFjOGZlOV8xMDk5NTExNjM2MzE2_efc3f3a3-8111-4628-a7f4-d857aa13f744"
      unitRef="usd">43700000</us-gaap:PurchaseObligationDueInNextTwelveMonths>
    <us-gaap:PurchaseObligationDueInSecondYear
      contextRef="i63371de6fd9942f8944e9b6e3fd97814_I20210731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMDYwL2ZyYWc6MjgwMzZhYzI4YjdiNGEyYThjYzg1MjdiYTBhYzhmZTkvdGV4dHJlZ2lvbjoyODAzNmFjMjhiN2I0YTJhOGNjODUyN2JhMGFjOGZlOV8xMDk5NTExNjM2MzIx_c221eae2-009c-4d5b-acf6-9c4a0b513262"
      unitRef="usd">46800000</us-gaap:PurchaseObligationDueInSecondYear>
    <us-gaap:PurchaseObligationDueInThirdYear
      contextRef="i63371de6fd9942f8944e9b6e3fd97814_I20210731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMDYwL2ZyYWc6MjgwMzZhYzI4YjdiNGEyYThjYzg1MjdiYTBhYzhmZTkvdGV4dHJlZ2lvbjoyODAzNmFjMjhiN2I0YTJhOGNjODUyN2JhMGFjOGZlOV8xMDk5NTExNjM2MzI5_24e1926c-6820-4be2-a894-b4ff49bf8f9a"
      unitRef="usd">50100000</us-gaap:PurchaseObligationDueInThirdYear>
    <us-gaap:PurchaseObligation
      contextRef="i63371de6fd9942f8944e9b6e3fd97814_I20210731"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMDYwL2ZyYWc6MjgwMzZhYzI4YjdiNGEyYThjYzg1MjdiYTBhYzhmZTkvdGV4dHJlZ2lvbjoyODAzNmFjMjhiN2I0YTJhOGNjODUyN2JhMGFjOGZlOV8xMDk5NTExNjM2NDUw_b6f06ebd-759c-4874-806e-1987c096e6fe"
      unitRef="usd">140600000</us-gaap:PurchaseObligation>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="ia6bb59814a0147439d7c5420b2613a46_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMTIvZnJhZzphMTgyN2VmOGQ5MDA0ZjY2YWVlZjYyZmFjZTNlZGU2NS90ZXh0cmVnaW9uOmExODI3ZWY4ZDkwMDRmNjZhZWVmNjJmYWNlM2VkZTY1XzEwOTk1MTE2MzkzNzI_bd2d9ae8-2ad2-42e8-8bd6-bc2c301aa943"
      unitRef="usd">-1100000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment
      contextRef="i6c9d801df56c4756a8a1b54107296673_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMTIvZnJhZzphMTgyN2VmOGQ5MDA0ZjY2YWVlZjYyZmFjZTNlZGU2NS90ZXh0cmVnaW9uOmExODI3ZWY4ZDkwMDRmNjZhZWVmNjJmYWNlM2VkZTY1XzEwOTk1MTE2NDI3Mjk_a0c39ae6-bd45-4917-bf99-cf0ff65a6b14"
      unitRef="usd">2800000</us-gaap:IncomeTaxReconciliationNondeductibleExpenseResearchAndDevelopment>
    <us-gaap:IncomeTaxReconciliationTaxSettlementsForeign
      contextRef="i40e17a6c1cdd4e20bd7bd2c679dfe7cc_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmFkMDMyZThkMTAyMDRkZDI5ZDIwOTI3ZDJkMTM5MTcwL3NlYzphZDAzMmU4ZDEwMjA0ZGQyOWQyMDkyN2QyZDEzOTE3MF8xMTIvZnJhZzphMTgyN2VmOGQ5MDA0ZjY2YWVlZjYyZmFjZTNlZGU2NS90ZXh0cmVnaW9uOmExODI3ZWY4ZDkwMDRmNjZhZWVmNjJmYWNlM2VkZTY1XzEwOTk1MTE2NDI4NDk_c6a30e48-7c8c-472f-aafd-db82e5aa3461"
      unitRef="usd">-2600000</us-gaap:IncomeTaxReconciliationTaxSettlementsForeign>
</xbrl>
