<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  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:tyl="http://www.tylertech.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="tyl-20210630.xsd" xlink:type="simple"/>
    <context id="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i5cbc6b9e1c8f46d886ec611959017ba9_I20210730">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
        </entity>
        <period>
            <instant>2021-07-30</instant>
        </period>
    </context>
    <context id="i0d607371cc414416892f502e218895f1_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:SoftwareLicensesandRoyaltiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i2dd1949646f6433ab7df686b04123346_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:SoftwareLicensesandRoyaltiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i97e0d33e95d548ed9cfc7bc455933018_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:SoftwareLicensesandRoyaltiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ibb16c164aad84584ab0d704d008784d6_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:SoftwareLicensesandRoyaltiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i762704e1a35b429a9dfa9136d715f7e5_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="ia49965582f304266a1c5a699c58c806e_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="ia8eeadf434334fdfa1c8a3241fcb65e5_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="ie03b936e7e3744a396ec0b82d619fe1e_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="ib711505f723141cb9dfbfa59bc6e5306_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ib10b64cc7a4b438cac7af40d5fdc5471_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i465377a326d5426987e62de97691c578_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i937530a655dd4f6cba9d3269c86776c1_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i56b29aa45d054afea997c695e0494103_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i5a81415a56354bb0b0459e750384de90_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ic207e27aef764b358a30cb64f99db462_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i041fa3b2aacb45359ec9ecd81d37cf56_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i7b8510cf6b5741989da85842c51a18a1_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i6d346a335a65458c9d056436146d1543_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i2bd1aa5ff89f42b98ed1aca853630c17_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i20e49120f44740329ff6d4d823ac8cb7_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ib9aa7375e9884b67975211409fca58d2_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:HardwareandOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i709470cfb1f9480fb6704b286a0403fd_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:HardwareandOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i8bfba014efae41f0b95168e286e5f57a_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:HardwareandOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i40a5d155954248968cc4637359d507a2_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:HardwareandOtherMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i718948acaef748c5b8456e036c361332_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ie6ced652b9d34354a904053950e7db72_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="iecb8b8cda3574813aeb57a9277619fec_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AcquiredSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="iff6f55376e014d62a6dc1450d15b6b86_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AcquiredSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i53287abe4d7b46c8b466558a486b3059_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AcquiredSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i58cded727e964d7ba49a1cbc5a5ba37d_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AcquiredSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i89d408907ab540c5a1ed07008d3c69e6_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:SoftwareServicesMaintenanceandSubscriptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i6469b5a97a114bb199cff993cb70610d_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:SoftwareServicesMaintenanceandSubscriptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ib06e2d89ec2548ddb6028af9581b92a4_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:SoftwareServicesMaintenanceandSubscriptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i7f66007f1f414e97b027fd36c9821523_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:SoftwareServicesMaintenanceandSubscriptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ief83b9462a8e40638c329b9faef696a1_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i1d7b9ba78e7346d3893203ed75b4959f_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="ic2efe4110eeb498d9a9216a6090cf6cb_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="i18410f8f46f54ee6af22cc2f73d07690_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="i52536e41c23d4e9b97d89938e64f2dde_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="ieed16c8c562d4a599a705d3d8534019d_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="i46e7ef2e6293456bbec557d10e46a53c_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="i26104b62f01e4306b83b23259ceda981_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i8dd9b4c3cad24f34b6d858ece308137f_I20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
        </entity>
        <period>
            <instant>2021-03-31</instant>
        </period>
    </context>
    <context id="i42ed8858a1804f95980770af57b94479_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="i289a8f6ccce141f3b32df98d8ba1e5b6_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="i7ad379fd29bc47e88bbacd0bc118f767_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i66e0195c5caa41a7b7c2e623c5b09b58_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="i661b9bdcfd014b48a882d126a1164b66_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="i6e81259e366f4a74b4dd1a7ba2796ad1_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="i2da290b8c00e4fe6a59399efae8b2833_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="icadba8032e064a2e9d1f340c8b3309fc_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i67339f23132c4922aed372c040e5ee3e_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="ib1a4b5b3147149b19c2a518a7c9272b0_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="ife763a4e6bf945c39e0b2f6834b4f2fb_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="if485a3274317461f94c81795d0643dd1_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="i6514c6d6b740477ca8d612dbe130880a_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i5a5ded34f9c14664945f3e2f0c1ebdfe_I20200331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
        </entity>
        <period>
            <instant>2020-03-31</instant>
        </period>
    </context>
    <context id="i39f534b63c484f19b825529d28181881_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="i20bae190df0c465a99f8bf844c1c2cf1_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="i37a3cb358e084d7ab5da832965a076e1_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ie683840ee3ff46c39dec7c639df36b78_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="i5d20ea766aa3461fa2cc7cbbc5726977_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="i6ed23b553ddb4f5e9c53f07abce58af3_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="i663aec84143948628d7e6c0e531780d8_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="i1af065f8985c4e12b6236a1b86f1c4a1_I20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-06-30</instant>
        </period>
    </context>
    <context id="i5f057169ad6d49759443b142a6656269_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="i6db6fd5148c3433a9d0e064232931774_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="i49088e654bb74f2095786b29e1a27fbb_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="i79d925d106e547f7add32f73759d1f95_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="i648023b28b5a432aae4e2af25658d3b8_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ib4d1cab5aa1c497aae0eb8db73e7077d_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="i6e29cfeff8c24ee6a72e6e39684b38ee_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="ic5e5ee417bd04878a53bc6cb47c8269f_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i2185e3b513294c55a2924b0ec3e7461c_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="i6dc0202f24bd4ba08d7e2dda49c13fa3_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="i94bbfa5b88844e48bf6a5be2f686030c_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="iedf83f8f36944e7cb27e484f9168e264_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="ie5213e8f275e44f3ab21d62969087129_I20191231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-12-31</instant>
        </period>
    </context>
    <context id="i78bf5988ae204cb8a635c5c9960f9a20_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="i8d418ede635f4c3fb6685bcf7bf42f0b_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="i71d626ae37204407948c647b281deb05_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i763dc8b6264846c6923fef6a3ded73ec_I20210309">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:ConvertibleSeniorNotesDue2026Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SeniorNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-03-09</instant>
        </period>
    </context>
    <context id="i2fe04e6ea42a444c911dc112ecddabbc_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:A2021CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ie8ac86df79e742a7bf2f56ffcc07df0f_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:SeniorUnsecuredRevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i9c7b8bee657c4326aefc150228550403_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">us-gaap:UnbilledRevenuesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ia2c030e24c0b4cedbc59193fdc89f54c_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">us-gaap:UnbilledRevenuesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i16ec207841ce4d77b481a3f5b91cbba2_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">tyl:RetentionReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">us-gaap:UnbilledRevenuesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i83421e97399e42769525a1fbf485e5aa_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis">tyl:RetentionReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AccountsNotesLoansAndFinancingReceivablesByBillingStatusTypeAxis">us-gaap:UnbilledRevenuesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="icd416ab90ec145778c83d44c9fe5ade4_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ReportingUnitAxis">tyl:DataAndInsightMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i0cb75e6a48ae4898a011d6d87266cfd0_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:ReportingUnitAxis">tyl:PlatformTechnologiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i23e9ff3634c54913b9d0810826f6267b_I20210421">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-21</instant>
        </period>
    </context>
    <context id="i88cd23938c234c3b9914ab6c7887859c_D20210421-20210421">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-21</startDate>
            <endDate>2021-04-21</endDate>
        </period>
    </context>
    <context id="i99c5c8bfb187436084446708258c3840_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tyl:MPHoldingsParentInc.dbaMicroPactMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i8da5547bd9384e38b290bd2f876ad7cf_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tyl:MPHoldingsParentInc.dbaMicroPactMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ia58f35b83c844a99a994404870315fe2_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tyl:MPHoldingsParentInc.dbaMicroPactMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i3f28be40b0ca416aafdfb64a81a19030_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tyl:MPHoldingsParentInc.dbaMicroPactMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i3da8ee6b97024b0abd192aad54c606f4_D20210331-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tyl:ReadysubMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-03-31</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="i7a06c83aa94e429287ad4e3f870bf15e_D20210331-20210331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tyl:DataSpecMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-03-31</startDate>
            <endDate>2021-03-31</endDate>
        </period>
    </context>
    <context id="icc677656fe5f42bfa5ceb5e74856faa9_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i7a336f2197ba4c7bbf296089b03d6bf8_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="if7be4fd15b25499c873404bdf717189b_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="icc669e16a2144d46a68e0463467b8c6d_D20200101-20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">tyl:RecordHoldingsPtyLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-12-31</endDate>
        </period>
    </context>
    <context id="i44e195b1a84f4a71b6fcda7ab87e8e91_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ScheduleOfEquityMethodInvestmentEquityMethodInvesteeNameAxis">tyl:RecordHoldingsPtyLimitedMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i6e1fbcd3ff3d4a25a5b07846b2298466_I20210421">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:A2021CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-21</instant>
        </period>
    </context>
    <context id="i821a619274c940688f66178981b14df2_I20210421">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:SeniorUnsecuredRevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-21</instant>
        </period>
    </context>
    <context id="ibbe4f7a645bb4225910dbade42d30e94_D20210421-20210421">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:TermLoanA1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-21</startDate>
            <endDate>2021-04-21</endDate>
        </period>
    </context>
    <context id="ifaf2080642fa4d02a26ccf3aac07941b_I20210421">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:TermLoanA1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-21</instant>
        </period>
    </context>
    <context id="iba98171af35148c0b9e917a14cb1b949_D20210421-20210421">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:TermLoanA2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-21</startDate>
            <endDate>2021-04-21</endDate>
        </period>
    </context>
    <context id="i8a54673edda945f980e3a68eb6adfab3_I20210421">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:TermLoanA2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-04-21</instant>
        </period>
    </context>
    <context id="i65cdee7faa1946a282feff78e1cb021a_D20210421-20210421">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:TermLoanA1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-21</startDate>
            <endDate>2021-04-21</endDate>
        </period>
    </context>
    <context id="icb45d67a817f4a18812d3306738ada65_D20210421-20210421">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:SeniorUnsecuredRevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-21</startDate>
            <endDate>2021-04-21</endDate>
        </period>
    </context>
    <context id="ibb6515563a49442ea08ae574d09eff93_D20210421-20210421">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:SeniorUnsecuredRevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-21</startDate>
            <endDate>2021-04-21</endDate>
        </period>
    </context>
    <context id="i49c6b01b9eb5416890a6ea49526181f0_D20210421-20210421">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:TermLoanA1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-21</startDate>
            <endDate>2021-04-21</endDate>
        </period>
    </context>
    <context id="id690a8e9dee4452f8459706ec07656c8_D20210421-20210421">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:SeniorUnsecuredRevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-21</startDate>
            <endDate>2021-04-21</endDate>
        </period>
    </context>
    <context id="icf97c4e2219740eaade9a365cb650e21_D20210421-20210421">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:TermLoanA1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-21</startDate>
            <endDate>2021-04-21</endDate>
        </period>
    </context>
    <context id="i43f2628f38c54449ac9f1f014bcc07cc_D20210421-20210421">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:SeniorUnsecuredRevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-21</startDate>
            <endDate>2021-04-21</endDate>
        </period>
    </context>
    <context id="ia8f6fbb568f244e688cdf5806803cdc2_D20210421-20210421">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:TermLoanA1Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-21</startDate>
            <endDate>2021-04-21</endDate>
        </period>
    </context>
    <context id="i24ec9b89f5624b3fa73aa0737bd820f8_D20210421-20210421">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:TermLoanA2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-21</startDate>
            <endDate>2021-04-21</endDate>
        </period>
    </context>
    <context id="i40f493033bd9463ab83e44971a70b692_D20210421-20210421">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:TermLoanA2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-21</startDate>
            <endDate>2021-04-21</endDate>
        </period>
    </context>
    <context id="i9ea274bacb92415c842b38dbbeefdcaf_D20210421-20210421">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:TermLoanA2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-21</startDate>
            <endDate>2021-04-21</endDate>
        </period>
    </context>
    <context id="ie9c35c2dc32048bea72b59adf25e0b89_D20210421-20210421">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:TermLoanA2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:LondonInterbankOfferedRateLIBORMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-21</startDate>
            <endDate>2021-04-21</endDate>
        </period>
    </context>
    <context id="ib552eb8ab8764f51ab48a834e2ca90de_D20210421-20210421">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:SeniorUnsecuredRevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-21</startDate>
            <endDate>2021-04-21</endDate>
        </period>
    </context>
    <context id="ife6a2b868836480a9464667e56cf2558_D20210421-20210421">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:SeniorUnsecuredRevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-21</startDate>
            <endDate>2021-04-21</endDate>
        </period>
    </context>
    <context id="ic5ccf4c0b8d447ecb5502039f9021c4f_D20210421-20210421">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:SeniorUnsecuredRevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-21</startDate>
            <endDate>2021-04-21</endDate>
        </period>
    </context>
    <context id="i9b1158db6bde4a598c72cd59b701f09b_D20210421-20210421">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:A2021CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-21</startDate>
            <endDate>2021-04-21</endDate>
        </period>
    </context>
    <context id="i420a08f6a6ba4fe8a006fa14aa1c1eeb_D20210421-20210421">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">us-gaap:BridgeLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-21</startDate>
            <endDate>2021-04-21</endDate>
        </period>
    </context>
    <context id="i17168141b5344f19b10bca68da3a99cf_D20210421-20210421">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:TermLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-21</startDate>
            <endDate>2021-04-21</endDate>
        </period>
    </context>
    <context id="i723db142ba6544888efe6c15a2025fb6_I20210421">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
        </entity>
        <period>
            <instant>2021-04-21</instant>
        </period>
    </context>
    <context id="ib6d553f6236b4a90b30fe94aa7b8f4ec_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:ConvertibleSeniorNotesDue2026Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SeniorNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i0e32cdee57ce47318cb7145ae9729a01_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:TermLoanA1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i7a2789fb65fa4ad08463700e20016c0f_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:TermLoanA2Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="icf78ac07b611465cbd7bc9ce79a9935e_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:SeniorUnsecuredRevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i67135459693e465baac08e589a3b0faf_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:SeniorUnsecuredRevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="iae7b0ca4ab424da0b545115133e00913_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:TermLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="id07f80508cae4ea3be8270e6d4891c77_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:TermLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i384ae00a62fb455db8d999fa3680684e_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:A2021CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i0a24169965a348bf9c99e90f74018d46_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:A2021CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i86b07fe24b5f43cea0c6e5951bb93123_I20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:A2019CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-09-30</instant>
        </period>
    </context>
    <context id="i400d1eded40443d1ad9934376ce736d1_I20190930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">us-gaap:BridgeLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2019-09-30</instant>
        </period>
    </context>
    <context id="ifc43b1fce715464186fd42f2a71731fd_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:A2019CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="if17b3f6ab6a34146a61af41ebab7b0af_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:A2019CreditAgreementMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="id4fc83bba6ce40588f1b3e6e670eed28_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">us-gaap:BridgeLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i5013fee1de764aa2af5b0b88c1da1096_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ShortTermDebtTypeAxis">us-gaap:BridgeLoanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="if562073dfce74bdeb59d562df7111780_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="idfcfd57268024ae5b7ff4a0e969a15a4_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ie9977cc5076947dcae42414e45f7875b_D20210309-20210309">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:ConvertibleSeniorNotesDue2026Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SeniorNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-03-09</startDate>
            <endDate>2021-03-09</endDate>
        </period>
    </context>
    <context id="i97d9dfb2e90e4dcb87ef379010f951ea_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:ConvertibleSeniorNotesDue2026Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SeniorNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i9404e945af184581a7153d97bf67846a_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tyl:ConvertibleSeniorNotesDue2026Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SeniorNotesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i53461c5dc897458a8a9fe2bbb9b21ccf_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ia88325771f23490bb55a4e03932c9543_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i87effb3d52d74e40b999a2261bccd7a4_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ia1cbf786a4f849a8aa9e75306bea864a_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i97ef37d2d8084a11947f945e082bde3c_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:ConvertibleDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i9afb9a52b83540a48e731ecbda213963_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:ConvertibleDebtSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i5fcbdf7a424e42098e7b9d40f6b8fc2d_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="ic480f70d68ac4090864fd39b3a86583d_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i4a8fe16a06c147ba9ae939fd2a93627e_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">tyl:CostOfSoftwareServicesMaintenanceAndSubscriptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i9b1c9a25eda54c07be3c60991b9e7777_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">tyl:CostOfSoftwareServicesMaintenanceAndSubscriptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i41d40452c5094ca89018ba6d3d089c0d_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">tyl:CostOfSoftwareServicesMaintenanceAndSubscriptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="if3f842c95f6c4ca08ceae3b0f191a20e_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">tyl:CostOfSoftwareServicesMaintenanceAndSubscriptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="if1b8a9d2b9cd4bd8bc66667e6b769c9b_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ic794416393ba4479bdcb6fe51a07f8fe_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i4ccd87a7c78d4f258d184e7c8cb37fab_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i15754b487cb1431a93109965d01a1739_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SellingGeneralAndAdministrativeExpensesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="iee8d77160e6c4333b95208bd222f805f_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i7a8d9e226eee4e6da650caf58f7974b8_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="icbce6277e0d943de9f100c36369968c3_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="idfddac08ca4848a7832555c1611581ae_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="iff9c0acb6b7344b5b45e77a7b3612602_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i464f89f3cf244a7ab855d65f64693f9c_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i8d25faa0b25e4bb691a0d9db15b61b6b_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i7f9b1e26017b4c49890291ca9bc3d351_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i4588d4cfa4f649d983d44bba9e250d5d_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <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="i5090f7421ba244d597adfbbd35d65fdb_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i252a3e6c03354589a9c68d4fe24c31e9_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i2a14677f30664cd6816427db3eda6603_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ibffc94aa5e5b4343a85b77f20d1d4561_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i4107cdfecc03442b85886421117e1660_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i6e081b603bde424cb2407de98b64fbfc_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i6e2610b2e36b4d79bb459e74df5050a9_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i14ffeb41176f404d8d2ba988feabb194_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i672b26490ead409e8af04c5e5c3a35bb_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i955875b62d134469a742d7849bd965d7_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ia2953c6add454614b2d7aa2693502268_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i2880ec82d6a646baabe5b1bfab866489_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i4fe6c162a0ac41efbd4b3c6afa8511c1_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i00cb8fc6f39f43228274ac3c2c590d97_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i504c273934084ccca8d8ff502017a1f7_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ib80797ec3ac9451a9bfa2be87c176f28_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="id3ba5507927449dcba67da90101c9966_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i0d11219b0e8c4daabef6d351e69c5719_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i15e67631b0d74b51b4262afa728cecb5_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i0b6d703d8e9747d5912f4900a3911b80_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="iecaf98d4530d4028a1d8c78b423edd7d_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i4f0b050c790742eea114c36918bb5ade_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ib3c41659211142d795e06226ddd19e6f_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i0318eca17f3b4e69ac1e2318c5594870_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i3a9d476ea4df4e8faea92d704ff25436_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i01429585b2f443bbb2e87cc04edf964f_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">tyl:OperatingSegmentsAndCorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i6411a98ce51c4c658d6f11fe1534b14d_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i8d1d72ecc57941ed8579cfcd03d48a6c_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="if77aa18e65824023b1f9856303314946_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="id834e9c253a2471faeb642a484616fb2_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i471f513f21dc43008bb6dc2a5699f56b_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ia4beab9e1d2e4f79b72254ec90d09cf5_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="if47fe62787a44955a9f83ab128cff703_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i7137e49090e243eb8de7ede244f5a443_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i9eab7ebb85ae4b26965f0b7528cf7faf_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <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="i72ff31f63b594c6fb64ef8b6c9373209_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i2f311dcb79bd47faa1a0c7e85996e859_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i2f90c9780132420caf10e16190f1e992_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i06af72f30ec54d3abf8c6f33d6a9a95e_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i96e23002605d4d1697566294e379a675_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i6a4ef839fa074455bbb8ce9717d219d4_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="if2262648363e46f290869451d28ea8a5_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i1e7b74bcc00d48b7b63fa635cce2a97c_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i10e63ab83c0f4759a44406708748a24a_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i412a5e4f8608434b9082d8bf7003b8cc_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i5d58f6b6ebd2430ab37ae50addfc0631_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i459e218349084968921ad7da5067f188_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="icf5a7b4e1e1d4b2c849d63e7719aa1c1_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i5ab226c10c3f44f9b0774361873c2acb_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i833f49084b1349dc9f4966679fea1f79_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i041790a0dd564e179e2f553807cda63e_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="icbfc57dec0b14941ae5c3b1381abf2d6_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="icb7a62043e864ca3ba274c4d0ee7fd5a_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i1743162a352742ddb5d63a3c534877c8_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ia6aca4023bae4d52ad6559e62aaaa8d5_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i530343aedf1542acb345b58e1a8b03fc_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ie49b913b16a44731bc4e1becaaf88354_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i351148986c4c428195125f3c8b792e16_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i1f35ce741650447488089a0f531ebddd_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i0788a4ad6e074304bce0b8cb5f386cbc_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i2f83d239156f4ae88726a1c0293d19a8_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">tyl:OperatingSegmentsAndCorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i4213dced86d842a5b0f31ed615f2aef5_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ib0552c1f244c4b55bf6c4c305fe3b3eb_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i6d335ce239194bec87b1bb81d0627096_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i76efd1432f07429fb5bdf4773a9aace5_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ifedeca083a0d41e5b831623f52db34a4_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i119e5b2facde4e8dba601b960da16e8c_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i18149547379244b59e6475e9366b4282_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ibefe729af5534533b0c557e7f16966f4_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ife637500c93d4a9894eecadefe620b74_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <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="ieee64d825b2241faa1837c8d3a31cc2e_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="if7b05c0c05b24448a08ad4d66f9dce0c_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="id2abc3b2875f46e5b9b1b41593d28ad0_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i633f1d9db84f452baa2f296f38341f80_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i2f0e787b14c64bfa865198b3088ac352_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i7aa1913f253f452dbc2d5019eb88411e_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i7b6957ecf69e4e1eb1edf107939a28a2_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i9348356e35704634b91c827b4622acf1_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i415e7155887f4d9781fd3f410b9f9b13_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ie1583f4ec5d341e9ab11266a513c7218_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i2fdadd29fbdd4406a33b0bfcffc24812_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i0745ccbefae34abc93033332155eca7f_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i87baa6b99f074aca85f044528fa2470c_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i35653a44ab7d430095b55fc807379b38_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="idfc328dbc4eb4a54b7c8e722a5f805d4_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i5f6c493883b34f988458d2d562bdcdad_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i700854d0a8e94c4ba8bae5b865038b36_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="if788eaa5d6c74750bbf747bb36e00005_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i2bc4f00f60494871b250cbd013145827_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ic5424925e4e144bf97a67ef45a7d4921_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="iea4adaf702694779b3c278c6826291a7_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="id13650e850ac4aa19f8cd9912e655a48_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i2e53f596495b4bb6aafd67216ed0d1f2_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ida94f54cc9974b52a91080164607a403_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ifd8e562a14094b60b2737afe816dcfc9_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i28ab9325b1c04c29b53ec818f8ee84de_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">tyl:OperatingSegmentsAndCorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i6354f3e3b5954dde87f760247aa7b6b3_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i6fea0ab8bb174c7990d817d3f474c63b_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i1efe53e833a2431189cc986169fc24fa_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i973e668bd06343baa40464cc9ad42507_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i435d3e001ab44b0ea95603683dfe6ae6_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="icc82525e5c8d43fd90a14675bc1d905b_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i57810fadbba54423bb54b7ed73e83c19_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ic0626c8fcd35407d9ce80cb096fb7a7a_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ifeb558c1feba47569008cde6945d111a_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <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="i131da4af85964c8087a17c69d670a437_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ie5a00808ad8147dc8d24fd14417e83fb_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i52f7b26c5f6343558986011eb19b85e7_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i57a0e67f8ddb4d739659f61a88ffe318_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ib0046088bff746d4ad37ce325e30010b_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ic494c1fbd20d4edca21d58b1a0bb15cd_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="iefa9c77788824c24aefce60c40d23662_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ibe90453405964f8982a0072c47917c75_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ia11fb123c9f242d3a758885be96b9401_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i708558d5ef2344e995b267f99a64fc0e_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="if86efc36a9274b3e826c552e86814cf6_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="id36072d2ad1d4f6194108913ae654ac3_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i06ab117f4df448f2a87155455b7d5b17_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i9fb0fcec97c84798ae1abe8617b6deb7_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i31e1958ccb8c44a88f2cfe86903c47bd_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i1bce3304fa6042cb90e96776916080fc_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ic0daa6fee0ea4a62b8bca2f530d7851e_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ia15bb9c270b44b6faea7c50a4ca5663e_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i929d98418f934bb985fdc14d21aee815_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i30f16e02b3804de795fc74be20cf3068_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i0aaa119d91824a538f291eec2a032173_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:IntersegmentEliminationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ia5965ed39eeb41c7a4cf12a6d5feb415_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i31b0445b54564ab8be291bf8d5cdb1f1_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i79a6511abb6f44d090c700ac1449f08c_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ib5bada07b50944a493479f027ef480e4_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i419132130edd47ffbf28f1d2699d6626_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">tyl:OperatingSegmentsAndCorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="if7efeb2790dc48dfb5909b3dffdc608c_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i3a7da7623e1848e5b4d95c43bfaa8949_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i7a7ad1b34ffc405ab7667e8e20d04582_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i143e40934de44f5a8187a0907dc5663d_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ie1199516576d4c4baee36bd354075e56_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i45774c36b9ef4dc4bc4b74871ee8f77f_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="id0e8182b1cc748958a20913fc1d3e1bd_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ib4bddc91479b4673be11650f2722ac84_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i312a128ed8f54877b1d965ca7ae4cc40_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i0357928aeebc41a5adb5e1456f5827b9_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i19b822054d09432fa6e2deabbb6ee1ef_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i5a95acbfb93b42cc831ca7702767a6a5_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i1806fe7bf1274dfe9cb9f5f88f805523_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ic5932c1fba464ba18e6a63fab42a239d_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i785438e2b40c4390a5f31fcf69657413_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i2c218474094944c4a9391d4e59938815_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i3496c793deea4da483ea7e4d9e1390ad_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i1795a5ad208049f993ca8d69ab48119e_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ief40b7b3fc8747e2874ce9520d09640a_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i902ef7b9aa8e42f291759c683105e506_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ia2f5b325bd3d4b3a9ee9347e2f82abcf_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ia4b0707907b04890a6039d6231bbfed7_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ie9942d2764224e94a5bcebccefb84ea1_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i8c389995e0114698bc25d6ac06344a42_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i3c5a612aa7a94dba95d2a5df52472b48_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="id2aeee93abcf4b27886d1f5249730d53_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="iac050fdf8f9c48258bc89d756abd7b43_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i6de2382fba2e4990b776b295504f4f6f_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i0e2b6e6485c74349ac1016960aaa10e8_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i4c740e08c2014f8ca980b6485cf4f85d_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="iddfc579736b04987a305c88a6a8b0fc3_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i5a66912a9f14493183b0fc23d0f6ce1e_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i51bef6881e984bd69ec7672e9a28e5bd_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i0f340f721b2c4446b978faf2c1b7df42_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i5089e719b9a64c8caea94c47572da3b5_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i6996f2d0b7d94d539ade3d956f5468cf_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ic4dfafcd39f74b3abe1c2624eee3f375_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i429515d961794a35903ebe0d13ba86aa_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i154af09a71c64c4c8ced1fbee0b2a17e_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="idacbe3bdf8e54daf8ca20f75a7e58591_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i23dc116a790d454493002810d195e419_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ifde711c3f83547c8a57766e98daf9e31_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i173c6a998ed549f7bdc6ddbf670cbfd3_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i3905966fb3e04273b144546dd65021c6_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:LicenseMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ia658b9d792d448c0a2a4ff6f704170fd_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i7c1b267056a94d9ea57e400f83e21f40_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:SubscriptionAndCirculationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i14ccbef4be984705926144d07ea63f81_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i490e225082c8468a880e2ec6ff5b7340_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:TechnologyServiceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="if9355239953b48efa1c26379cf07ff4a_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i3e57f6d06a97450894b677a24c985bfd_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:MaintenanceMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i0594d21e884b4e8598b45fb50e030100_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i26c1366ddf65419d937d7da978b59cce_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tyl:AppraisalServicesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="iae2f991e04164a69bcf6f8910e0e419c_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="id7f2c76bb2594f2b9539f3d500fbee06_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">us-gaap:ProductMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i777950d51fa147cb94285e3477f88f83_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredAtPointInTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i9ee3c3eef86d4f19a8151e2d23af3954_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:TimingOfTransferOfGoodOrServiceAxis">us-gaap:TransferredOverTimeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i7557908e1adb44318fb066c69459afcb_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ie14ecafc9e88480c9b3b123daa784414_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i70455f5710cd42cdb676ba583ab002d3_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i06af96c45120422aa2027e9376d27b06_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i62352d865faa45cfa9810c296a5e1626_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ibd9192d41f6243029bd4a9043b9ed0b9_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i3eb7bcf720684552b5d26b0223c73c2d_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ie79f91cdbe964654b5505db3118fa3f9_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i2dde2a8a72e142779cb35466efc2881e_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i3ea834e761754542a3221b29b00e50b9_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ie29f3d9859c9451eaa6a46064d0723f9_D20210401-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">tyl:CorporateAndEliminationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-04-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i73ba583ba6264fea8c36590fbc1d3eab_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i21bb3a2310f24338b56a6cc82d6421e2_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i74642f2338ab4e7a932a1dbe1ff4082b_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ib138f51d7a2a40a9839a0a4157dce678_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i5e50414e5b394d8c9c0632a0e6f771ea_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i984f4631a171435088b5be6a09fd043d_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i56604876a3fb4db19bd0c1da6e939d54_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ib0af140c08734bc8b44e3fc5970fff46_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i6770243d1c4a44cea50fb7e6a7f6d036_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i15160989e15f4d6081cf89957bb162a0_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i24633322d1014562ad48d7eaf62a433c_D20200401-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">tyl:CorporateAndEliminationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-04-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i1ebf5a8e20ff4bac8b05e7360d9208d5_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i8fb840e10a8f42738a8b9d77ff9eb977_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i077b7010969246f3b906d3c180bbb7ec_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i92d7badfabcd432581deda592e27907e_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i290b1d59e5d243f9aa4915d2411d797d_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ibf24017278a44ab6a556107d99e2c255_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="ib728793672cb4cd6ac724acab3aa6688_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="if86a52e7ea534ff6aae780f562b6d233_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="id53e7552c9904fa3aebac27349f11e42_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i97d05b66948444aa9a02650cd05ef62b_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="id489de2fb23a42edbff66c289addfd98_D20210101-20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">tyl:CorporateAndEliminationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-01-01</startDate>
            <endDate>2021-06-30</endDate>
        </period>
    </context>
    <context id="i9b51997628d9437fb1a2411f5230900a_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i974f5829fee547209e6eca6c0b22f5bc_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="iefee47f53ac34eac8bd21c5f430b9959_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ied61ef653c32401f92f78df89d6c2052_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i2d864e6d36fb417daa9fa21b78ce1d04_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:RecurringRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i1b8807b91d5b44d0911645dd790863ee_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i38e190d6462a4476b850303fb6a053b4_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="id060bbd95ceb45cfbad55d9108599195_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="ib5c6670394ec406c976ddbe7ce7dae39_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i30c44af0ab404c35a28afdbadda2a3e0_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tyl:NonrecurringRevenueMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i426bd942fdff4eef9e9ea78db5bf109d_D20200101-20200630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">tyl:CorporateAndEliminationsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2020-01-01</startDate>
            <endDate>2020-06-30</endDate>
        </period>
    </context>
    <context id="i96a001942ac64c6ab396dcabba277b5f_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i6f8d697c8eb7455e993ed82cb6d508b7_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:EnterpriseSoftwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="i2263db3990a44dc5b75d2139be1dc592_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i97d806b8e812475793f083aa1e99fa35_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:AppraisalAndTaxMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ieeaaf565aabc40edb0d5f89d75a525e3_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i46417e17f15542a38b0624a14261a37c_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:OperatingSegmentsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:StatementBusinessSegmentsAxis">tyl:NICMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="if4c3ab53d71c4e58b85f073eaa37204f_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-06-30</instant>
        </period>
    </context>
    <context id="i47baca78cc2c40c28b51d39717327fd4_I20201231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">us-gaap:CorporateNonSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-12-31</instant>
        </period>
    </context>
    <context id="ie57dfeaf5661405d811064257b597650_I20210630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</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="i4b85bf1385fb4657a16db3afed9a95f6_D20210701-20210930">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000860731</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:BusinessAcquisitionAxis">tyl:VendEngineIncMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2021-07-01</startDate>
            <endDate>2021-09-30</endDate>
        </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="trading_day">
        <measure>tyl:trading_day</measure>
    </unit>
    <unit id="business_unit">
        <measure>tyl:business_unit</measure>
    </unit>
    <unit id="segment">
        <measure>tyl:segment</measure>
    </unit>
    <unit id="legalmatter">
        <measure>tyl:legalMatter</measure>
    </unit>
    <dei:AmendmentFlag
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80L2ZyYWc6ODkxMDk2MzNjMjdiNGUxMjlmYTlkMzVkYzkwNjY5YjAvdGFibGU6ZTM2MjUyNmQ2MWM4NDhmMmJjYzRhOGE0YmZhY2ZhNDMvdGFibGVyYW5nZTplMzYyNTI2ZDYxYzg0OGYyYmNjNGE4YTRiZmFjZmE0M18yLTEtMS0xLTA_6190b927-4e37-47c8-bf60-54b4010d152b">false</dei:AmendmentFlag>
    <dei:DocumentFiscalYearFocus
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80L2ZyYWc6ODkxMDk2MzNjMjdiNGUxMjlmYTlkMzVkYzkwNjY5YjAvdGFibGU6ZTM2MjUyNmQ2MWM4NDhmMmJjYzRhOGE0YmZhY2ZhNDMvdGFibGVyYW5nZTplMzYyNTI2ZDYxYzg0OGYyYmNjNGE4YTRiZmFjZmE0M180LTEtMS0xLTA_2ac6981c-cc0d-4df6-a165-b59807418905">2021</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80L2ZyYWc6ODkxMDk2MzNjMjdiNGUxMjlmYTlkMzVkYzkwNjY5YjAvdGFibGU6ZTM2MjUyNmQ2MWM4NDhmMmJjYzRhOGE0YmZhY2ZhNDMvdGFibGVyYW5nZTplMzYyNTI2ZDYxYzg0OGYyYmNjNGE4YTRiZmFjZmE0M181LTEtMS0xLTA_de5c7923-2159-4185-9f50-21c62cf472b8">Q2</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80L2ZyYWc6ODkxMDk2MzNjMjdiNGUxMjlmYTlkMzVkYzkwNjY5YjAvdGFibGU6ZTM2MjUyNmQ2MWM4NDhmMmJjYzRhOGE0YmZhY2ZhNDMvdGFibGVyYW5nZTplMzYyNTI2ZDYxYzg0OGYyYmNjNGE4YTRiZmFjZmE0M183LTEtMS0xLTA_fc35b156-9949-46b7-a957-79a63152b7e3">0000860731</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80L2ZyYWc6ODkxMDk2MzNjMjdiNGUxMjlmYTlkMzVkYzkwNjY5YjAvdGFibGU6ZTM2MjUyNmQ2MWM4NDhmMmJjYzRhOGE0YmZhY2ZhNDMvdGFibGVyYW5nZTplMzYyNTI2ZDYxYzg0OGYyYmNjNGE4YTRiZmFjZmE0M184LTEtMS0xLTA_d72f21af-eb45-4bf4-beca-62b3a7ea25b9">--12-31</dei:CurrentFiscalYearEndDate>
    <tyl:SalesCommissionsAmortizationPeriod
      contextRef="i7a336f2197ba4c7bbf296089b03d6bf8_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80My9mcmFnOjk0YzI5OGI1MjBiNTQwOTY4MTcyYmYwYzQ5NjUyMjg1L3RleHRyZWdpb246OTRjMjk4YjUyMGI1NDA5NjgxNzJiZjBjNDk2NTIyODVfMzQ3_9c1f4ccc-f54c-4511-8ad9-da53280c0a50">P3Y</tyl:SalesCommissionsAmortizationPeriod>
    <us-gaap:DebtConversionConvertedInstrumentRate
      contextRef="ie9977cc5076947dcae42414e45f7875b_D20210309-20210309"
      decimals="7"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81Mi9mcmFnOjZiOWM1MjdjYWNhNTRjYThiYTI4NzYxYjNkZGFmOWNmL3RhYmxlOjAyZGRiOTY0NGNlZjQxOWY4NzUzYjY3YTdhZmEzNGYzL3RhYmxlcmFuZ2U6MDJkZGI5NjQ0Y2VmNDE5Zjg3NTNiNjdhN2FmYTM0ZjNfMS0xLTEtMS0w_7049508a-0cb1-4d5f-8092-0a24f103158d"
      unitRef="number">0.0020266</us-gaap:DebtConversionConvertedInstrumentRate>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="i5fcbdf7a424e42098e7b9d40f6b8fc2d_I20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RleHRyZWdpb246NzU3MjY4MTMwMzNjNGExN2I0MWI3YTgzYjNlMGUwMmRfMjE2_2fe2a4dc-e398-41cf-866c-87488edbfb5c">P1Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <tyl:RevenueFromContractWithCustomerContractTerm
      contextRef="i7a336f2197ba4c7bbf296089b03d6bf8_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RleHRyZWdpb246ZTE1MDllN2QyYmNiNGY4YTkzNmFjYWMwZDdjN2RiNWZfODMx_59d155ba-6c6c-4073-873d-25734ceb48b3">P1Y</tyl:RevenueFromContractWithCustomerContractTerm>
    <tyl:RevenueFromContractWithCustomerTypicalContractTerm
      contextRef="i7a336f2197ba4c7bbf296089b03d6bf8_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RleHRyZWdpb246ZTE1MDllN2QyYmNiNGY4YTkzNmFjYWMwZDdjN2RiNWZfODky_8a1f7d99-2747-458d-b108-3d5923ccf1c8">P3Y</tyl:RevenueFromContractWithCustomerTypicalContractTerm>
    <dei:DocumentType
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xL2ZyYWc6OWEyYTFlMGMxM2FjNGEwODg1NzkyMGYyMmIwMzg0MzYvdGV4dHJlZ2lvbjo5YTJhMWUwYzEzYWM0YTA4ODU3OTIwZjIyYjAzODQzNl84NQ_4a9602c3-df61-4d18-96a9-fec3bc9ec62f">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xL2ZyYWc6OWEyYTFlMGMxM2FjNGEwODg1NzkyMGYyMmIwMzg0MzYvdGFibGU6MmNiMjEwMGRkMTQ0NDE0OWJlZjU2MTBiOTMzN2M4YjQvdGFibGVyYW5nZToyY2IyMTAwZGQxNDQ0MTQ5YmVmNTYxMGI5MzM3YzhiNF8wLTAtMS0xLTA_0045f7b0-8fd9-486e-a0d9-7c7d9cf8f0b4">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xL2ZyYWc6OWEyYTFlMGMxM2FjNGEwODg1NzkyMGYyMmIwMzg0MzYvdGV4dHJlZ2lvbjo5YTJhMWUwYzEzYWM0YTA4ODU3OTIwZjIyYjAzODQzNl8xMjI_3f4718a0-8b55-4bfd-abdd-1dbdac0d8fdc">2021-06-30</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xL2ZyYWc6OWEyYTFlMGMxM2FjNGEwODg1NzkyMGYyMmIwMzg0MzYvdGFibGU6ZWRiOGYzN2JkOWFmNGY3MTlkMGQ4YWZkNTM5ZDlmYWYvdGFibGVyYW5nZTplZGI4ZjM3YmQ5YWY0ZjcxOWQwZDhhZmQ1MzlkOWZhZl8wLTAtMS0xLTA_c5515819-d4d4-4de4-a9a9-139458cb020d">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xL2ZyYWc6OWEyYTFlMGMxM2FjNGEwODg1NzkyMGYyMmIwMzg0MzYvdGV4dHJlZ2lvbjo5YTJhMWUwYzEzYWM0YTA4ODU3OTIwZjIyYjAzODQzNl8xNTU_71df60c1-1919-439e-9905-278296b9a7a2">1-10485</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xL2ZyYWc6OWEyYTFlMGMxM2FjNGEwODg1NzkyMGYyMmIwMzg0MzYvdGV4dHJlZ2lvbjo5YTJhMWUwYzEzYWM0YTA4ODU3OTIwZjIyYjAzODQzNl8xNTk_e25429f1-29c8-43bf-9e42-b532ce265a17">TYLER TECHNOLOGIES, INC.</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xL2ZyYWc6OWEyYTFlMGMxM2FjNGEwODg1NzkyMGYyMmIwMzg0MzYvdGFibGU6ZTM5ZTQxY2EyMTA1NDYyYmE4NzZhYTNiYmNiMDcyMWEvdGFibGVyYW5nZTplMzllNDFjYTIxMDU0NjJiYTg3NmFhM2JiY2IwNzIxYV8wLTAtMS0xLTA_86060264-1162-4ee3-b926-452da947154e">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xL2ZyYWc6OWEyYTFlMGMxM2FjNGEwODg1NzkyMGYyMmIwMzg0MzYvdGFibGU6ZTM5ZTQxY2EyMTA1NDYyYmE4NzZhYTNiYmNiMDcyMWEvdGFibGVyYW5nZTplMzllNDFjYTIxMDU0NjJiYTg3NmFhM2JiY2IwNzIxYV8wLTItMS0xLTA_e0fd251a-a8a6-45ac-a39a-56b2f460582a">75-2303920</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xL2ZyYWc6OWEyYTFlMGMxM2FjNGEwODg1NzkyMGYyMmIwMzg0MzYvdGFibGU6MmM0MDRjNzllNzE1NDJiYTk0YzA2NjVhMzA1ZjczMDkvdGFibGVyYW5nZToyYzQwNGM3OWU3MTU0MmJhOTRjMDY2NWEzMDVmNzMwOV8wLTAtMS0xLTA_7a11575c-0e07-427b-883d-1ff57767102a">5101 TENNYSON PARKWAY</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xL2ZyYWc6OWEyYTFlMGMxM2FjNGEwODg1NzkyMGYyMmIwMzg0MzYvdGFibGU6MmM0MDRjNzllNzE1NDJiYTk0YzA2NjVhMzA1ZjczMDkvdGFibGVyYW5nZToyYzQwNGM3OWU3MTU0MmJhOTRjMDY2NWEzMDVmNzMwOV8wLTEtMS0xLTA_7a9281d5-9236-4122-b7ce-911cc1ee4b7f">PLANO</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xL2ZyYWc6OWEyYTFlMGMxM2FjNGEwODg1NzkyMGYyMmIwMzg0MzYvdGFibGU6MmM0MDRjNzllNzE1NDJiYTk0YzA2NjVhMzA1ZjczMDkvdGFibGVyYW5nZToyYzQwNGM3OWU3MTU0MmJhOTRjMDY2NWEzMDVmNzMwOV8wLTItMS0xLTA_fca921cb-ff9d-4738-a32b-b95b4171d888">TX</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xL2ZyYWc6OWEyYTFlMGMxM2FjNGEwODg1NzkyMGYyMmIwMzg0MzYvdGFibGU6MmM0MDRjNzllNzE1NDJiYTk0YzA2NjVhMzA1ZjczMDkvdGFibGVyYW5nZToyYzQwNGM3OWU3MTU0MmJhOTRjMDY2NWEzMDVmNzMwOV8wLTMtMS0xLTA_99b77014-09ee-4870-87a0-fd49be121fa4">75024</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xL2ZyYWc6OWEyYTFlMGMxM2FjNGEwODg1NzkyMGYyMmIwMzg0MzYvdGV4dHJlZ2lvbjo5YTJhMWUwYzEzYWM0YTA4ODU3OTIwZjIyYjAzODQzNl8yMjU_8787566d-7b5a-4ae0-8a9e-6abd8729e245">972</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xL2ZyYWc6OWEyYTFlMGMxM2FjNGEwODg1NzkyMGYyMmIwMzg0MzYvdGV4dHJlZ2lvbjo5YTJhMWUwYzEzYWM0YTA4ODU3OTIwZjIyYjAzODQzNl8yMjk_a148ec7a-fa8e-41e5-8348-9fe0f26a6139">713-3700</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xL2ZyYWc6OWEyYTFlMGMxM2FjNGEwODg1NzkyMGYyMmIwMzg0MzYvdGFibGU6YjNmMDQ1NzQ2ZjQxNGYwMDgyN2Q0NDlmZTYyODY4YjQvdGFibGVyYW5nZTpiM2YwNDU3NDZmNDE0ZjAwODI3ZDQ0OWZlNjI4NjhiNF8xLTAtMS0xLTA_3f642fa0-831e-444d-bca8-1de077a9c8a2">COMMON STOCK, $0.01 PAR VALUE</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xL2ZyYWc6OWEyYTFlMGMxM2FjNGEwODg1NzkyMGYyMmIwMzg0MzYvdGFibGU6YjNmMDQ1NzQ2ZjQxNGYwMDgyN2Q0NDlmZTYyODY4YjQvdGFibGVyYW5nZTpiM2YwNDU3NDZmNDE0ZjAwODI3ZDQ0OWZlNjI4NjhiNF8xLTEtMS0xLTA_a208a13c-9be4-411b-8ad2-68927d4d71a9">TYL</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xL2ZyYWc6OWEyYTFlMGMxM2FjNGEwODg1NzkyMGYyMmIwMzg0MzYvdGFibGU6YjNmMDQ1NzQ2ZjQxNGYwMDgyN2Q0NDlmZTYyODY4YjQvdGFibGVyYW5nZTpiM2YwNDU3NDZmNDE0ZjAwODI3ZDQ0OWZlNjI4NjhiNF8xLTItMS0xLTA_2c7d4655-ff79-4149-88b5-5e1df2c81dd0">NYSE</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xL2ZyYWc6OWEyYTFlMGMxM2FjNGEwODg1NzkyMGYyMmIwMzg0MzYvdGV4dHJlZ2lvbjo5YTJhMWUwYzEzYWM0YTA4ODU3OTIwZjIyYjAzODQzNl82MzQ_6313fca8-d242-4fe1-acec-4b52619e3e1a">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityCurrentReportingStatus
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xL2ZyYWc6OWEyYTFlMGMxM2FjNGEwODg1NzkyMGYyMmIwMzg0MzYvdGV4dHJlZ2lvbjo5YTJhMWUwYzEzYWM0YTA4ODU3OTIwZjIyYjAzODQzNl82MzQ_f35774d6-d8bc-4bd4-91cb-3ef21e73a6ad">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xL2ZyYWc6OWEyYTFlMGMxM2FjNGEwODg1NzkyMGYyMmIwMzg0MzYvdGV4dHJlZ2lvbjo5YTJhMWUwYzEzYWM0YTA4ODU3OTIwZjIyYjAzODQzNl85MzU_7ef1e954-cd8e-4772-bea7-c55bac2625c5">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xL2ZyYWc6OWEyYTFlMGMxM2FjNGEwODg1NzkyMGYyMmIwMzg0MzYvdGFibGU6M2YwMzA3ZWQ5ODFkNDAxNWIxZTg3OWQ4Y2VjN2ZmYjUvdGFibGVyYW5nZTozZjAzMDdlZDk4MWQ0MDE1YjFlODc5ZDhjZWM3ZmZiNV8wLTAtMS0xLTA_4fa21148-3a69-4575-83c8-8adb40ab2946">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xL2ZyYWc6OWEyYTFlMGMxM2FjNGEwODg1NzkyMGYyMmIwMzg0MzYvdGFibGU6M2YwMzA3ZWQ5ODFkNDAxNWIxZTg3OWQ4Y2VjN2ZmYjUvdGFibGVyYW5nZTozZjAzMDdlZDk4MWQ0MDE1YjFlODc5ZDhjZWM3ZmZiNV8yLTYtMS0xLTA_f6fe27a1-f98a-4471-bb7e-99e990b79342">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xL2ZyYWc6OWEyYTFlMGMxM2FjNGEwODg1NzkyMGYyMmIwMzg0MzYvdGFibGU6M2YwMzA3ZWQ5ODFkNDAxNWIxZTg3OWQ4Y2VjN2ZmYjUvdGFibGVyYW5nZTozZjAzMDdlZDk4MWQ0MDE1YjFlODc5ZDhjZWM3ZmZiNV8zLTYtMS0xLTA_0ddb8bac-4eeb-4170-977b-3ef35783b548">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xL2ZyYWc6OWEyYTFlMGMxM2FjNGEwODg1NzkyMGYyMmIwMzg0MzYvdGV4dHJlZ2lvbjo5YTJhMWUwYzEzYWM0YTA4ODU3OTIwZjIyYjAzODQzNl8xNTE0_41b1efc7-f324-47a7-b1cb-360882b44255">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="i5cbc6b9e1c8f46d886ec611959017ba9_I20210730"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xL2ZyYWc6OWEyYTFlMGMxM2FjNGEwODg1NzkyMGYyMmIwMzg0MzYvdGV4dHJlZ2lvbjo5YTJhMWUwYzEzYWM0YTA4ODU3OTIwZjIyYjAzODQzNl8xNTA5_0bb43227-9f76-4c3c-9cfb-0b810161013e"
      unitRef="shares">40843408</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0d607371cc414416892f502e218895f1_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMy0yLTEtMS0w_03314862-8327-4a27-ac12-f2116a01e5db"
      unitRef="usd">17604000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2dd1949646f6433ab7df686b04123346_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMy00LTEtMS0w_80dbf3fb-27a8-479c-b033-765c1564e73d"
      unitRef="usd">17025000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i97e0d33e95d548ed9cfc7bc455933018_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMy02LTEtMS0w_29fafc1c-3770-4aae-98ef-36f1fcfed1b3"
      unitRef="usd">32537000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ibb16c164aad84584ab0d704d008784d6_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMy04LTEtMS0w_e22e64a9-e688-47b0-b10d-d01305b075de"
      unitRef="usd">35762000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i762704e1a35b429a9dfa9136d715f7e5_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfNC0yLTEtMS0w_4bcf63b5-00c9-46af-bd9c-301a5b730258"
      unitRef="usd">199558000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia49965582f304266a1c5a699c58c806e_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfNC00LTEtMS0w_d77f9ff1-a146-4eb4-a4c0-873a01cf1aa2"
      unitRef="usd">85638000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia8eeadf434334fdfa1c8a3241fcb65e5_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfNC02LTEtMS0w_700171c1-ae14-489d-9684-97e41675af93"
      unitRef="usd">302037000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie03b936e7e3744a396ec0b82d619fe1e_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfNC04LTEtMS0w_6625d930-a293-4594-bebb-ab13d7f7af0c"
      unitRef="usd">167361000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib711505f723141cb9dfbfa59bc6e5306_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfNS0yLTEtMS0w_a9c2262f-b6a7-4ade-8e37-561d1bc74aeb"
      unitRef="usd">53337000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib10b64cc7a4b438cac7af40d5fdc5471_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfNS00LTEtMS0w_280bd295-e836-4f3a-935b-123aa834613e"
      unitRef="usd">43654000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i465377a326d5426987e62de97691c578_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfNS02LTEtMS0w_64cea959-6769-422e-a121-13ab4be2eabe"
      unitRef="usd">100977000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i937530a655dd4f6cba9d3269c86776c1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfNS04LTEtMS0w_879cec66-b055-40b6-9fec-ae45733e38e9"
      unitRef="usd">95787000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i56b29aa45d054afea997c695e0494103_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfNi0yLTEtMS0w_744fad1d-d728-4f91-b202-2d2aca5b3ec2"
      unitRef="usd">119621000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5a81415a56354bb0b0459e750384de90_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfNi00LTEtMS0w_4d0abe2c-afd5-4fb2-b1bd-36ace8b8fab5"
      unitRef="usd">116760000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic207e27aef764b358a30cb64f99db462_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfNi02LTEtMS0w_854d6a2f-b0c2-4784-ac74-b6713d391a4a"
      unitRef="usd">238733000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i041fa3b2aacb45359ec9ecd81d37cf56_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfNi04LTEtMS0w_06db40e8-a0cd-440e-b3c3-b15815ce25ed"
      unitRef="usd">231125000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7b8510cf6b5741989da85842c51a18a1_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfNy0yLTEtMS0w_64c007bc-9b5c-4cfb-8a5e-2ca02dd6ad41"
      unitRef="usd">6265000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6d346a335a65458c9d056436146d1543_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfNy00LTEtMS0w_99e82f9a-d2f7-4510-b0dc-90fc35df0e72"
      unitRef="usd">4696000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2bd1aa5ff89f42b98ed1aca853630c17_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfNy02LTEtMS0w_e083e92c-7d11-489a-b710-8b547eabede7"
      unitRef="usd">12730000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i20e49120f44740329ff6d4d823ac8cb7_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfNy04LTEtMS0w_44269dfe-7b0c-4478-9684-5e5506b07f6a"
      unitRef="usd">10459000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib9aa7375e9884b67975211409fca58d2_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfOC0yLTEtMS0w_8bc5d3c9-45d0-4b67-b75b-1def01e7f296"
      unitRef="usd">7690000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i709470cfb1f9480fb6704b286a0403fd_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfOC00LTEtMS0w_d5704b70-f6a2-4d5e-b56f-7e399e12b034"
      unitRef="usd">3318000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8bfba014efae41f0b95168e286e5f57a_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfOC02LTEtMS0w_60f2a78c-fdc3-4537-8e68-2b83145e1c47"
      unitRef="usd">11863000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i40a5d155954248968cc4637359d507a2_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfOC04LTEtMS0w_e38a797e-5aee-41e2-8f22-f12848c32179"
      unitRef="usd">7138000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfOS0yLTEtMS0w_bb417b0d-bb9d-4755-b5ae-f0ac0f398edc"
      unitRef="usd">404075000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfOS00LTEtMS0w_b80c6c20-0d37-4c8b-a002-99d7e940d12b"
      unitRef="usd">271091000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfOS02LTEtMS0w_7117f83c-60cd-4a11-8290-38dbb0b9e280"
      unitRef="usd">698877000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfOS04LTEtMS0w_04aacef8-ce11-490f-9375-6b88fee1043c"
      unitRef="usd">547632000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i0d607371cc414416892f502e218895f1_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMTItMi0xLTEtMA_3fc99d90-b922-47ff-b815-642e8e3bb336"
      unitRef="usd">1368000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i2dd1949646f6433ab7df686b04123346_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMTItNC0xLTEtMA_3ff0418b-37a0-454a-9e38-96d1826304a4"
      unitRef="usd">1130000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i97e0d33e95d548ed9cfc7bc455933018_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMTItNi0xLTEtMA_a04f28ab-ff5f-489e-8303-a53bee528c6b"
      unitRef="usd">2604000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ibb16c164aad84584ab0d704d008784d6_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMTItOC0xLTEtMA_615f5d4e-1363-4ccc-a16f-239cbf5ddedf"
      unitRef="usd">1870000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="iecb8b8cda3574813aeb57a9277619fec_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMTMtMi0xLTEtMA_33d09d44-102e-4015-9b51-377c3cfb7fcd"
      unitRef="usd">11823000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="iff6f55376e014d62a6dc1450d15b6b86_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMTMtNC0xLTEtMA_2088d2af-8d97-45c2-9ea2-0e3890dc2f33"
      unitRef="usd">8006000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i53287abe4d7b46c8b466558a486b3059_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMTMtNi0xLTEtMA_4856cbd7-4d43-47ec-98f3-d89fa87adac4"
      unitRef="usd">19787000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i58cded727e964d7ba49a1cbc5a5ba37d_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMTMtOC0xLTEtMA_34004cc8-75a9-4768-8bb0-bf8c7aeed06e"
      unitRef="usd">16033000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i89d408907ab540c5a1ed07008d3c69e6_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMTQtMi0xLTEtMA_a79fc00c-4426-43e1-ad82-03d7023f7751"
      unitRef="usd">199771000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i6469b5a97a114bb199cff993cb70610d_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMTQtNC0xLTEtMA_a334d469-805e-42df-9f12-3d4189dbc443"
      unitRef="usd">124287000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ib06e2d89ec2548ddb6028af9581b92a4_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMTQtNi0xLTEtMA_abb15645-8360-4549-a099-f1e16a0634e0"
      unitRef="usd">334091000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i7f66007f1f414e97b027fd36c9821523_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMTQtOC0xLTEtMA_c7d72ba0-a823-46e3-8a93-3ba19d604a10"
      unitRef="usd">256066000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i7b8510cf6b5741989da85842c51a18a1_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMTUtMi0xLTEtMA_f0269a58-8faa-4c7f-837e-c8276ce32505"
      unitRef="usd">4429000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i6d346a335a65458c9d056436146d1543_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMTUtNC0xLTEtMA_9a4168b7-66c7-40d1-9f69-888d862c8fa4"
      unitRef="usd">3976000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i2bd1aa5ff89f42b98ed1aca853630c17_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMTUtNi0xLTEtMA_5533f047-b147-4981-91b5-ad69d0e24222"
      unitRef="usd">9046000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i20e49120f44740329ff6d4d823ac8cb7_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMTUtOC0xLTEtMA_dfdc492c-3c10-4ba5-824a-e4c0cf5d4665"
      unitRef="usd">8361000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ib9aa7375e9884b67975211409fca58d2_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMTYtMi0xLTEtMA_6ff5b253-2920-46c6-90fc-5cf760175b85"
      unitRef="usd">4623000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i709470cfb1f9480fb6704b286a0403fd_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMTYtNC0xLTEtMA_476f5fda-5c54-42f7-ad48-c425fb94e238"
      unitRef="usd">2489000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i8bfba014efae41f0b95168e286e5f57a_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMTYtNi0xLTEtMA_e1927aa8-754b-4de3-84ec-c1e6fc0eb28f"
      unitRef="usd">7081000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i40a5d155954248968cc4637359d507a2_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMTYtOC0xLTEtMA_a77ab1f7-945b-4a08-9f25-4a880fe460a9"
      unitRef="usd">4968000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMTctMi0xLTEtMA_26bdf064-fbd9-45a8-9bb4-ef24110c212a"
      unitRef="usd">222014000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMTctNC0xLTEtMA_f1056a99-0352-4075-baf9-f9c7b990e1bc"
      unitRef="usd">139888000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMTctNi0xLTEtMA_17df9f67-908a-4ece-9509-7d3634a12831"
      unitRef="usd">372609000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMTctOC0xLTEtMA_176fa0a0-3b6f-4539-996e-e057ff371b42"
      unitRef="usd">287298000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMTktMi0xLTEtMA_26b074b4-94ac-410b-8057-9ba298933405"
      unitRef="usd">182061000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMTktNC0xLTEtMA_bda81ce6-2320-4889-b3a0-a8fd70ad810d"
      unitRef="usd">131203000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMTktNi0xLTEtMA_85d5e5af-9dc0-4f55-80d3-277677abac78"
      unitRef="usd">326268000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMTktOC0xLTEtMA_987149b8-96f5-4f63-afa1-5197a5be8611"
      unitRef="usd">260334000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMjEtMi0xLTEtMA_bc176e31-83e7-4379-a2b5-6c34df7115b7"
      unitRef="usd">108922000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMjEtNC0xLTEtMA_4ba1d997-a868-4ec7-93b7-ced255cea20a"
      unitRef="usd">62521000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMjEtNi0xLTEtMA_b5ec7625-a606-4fb9-9fe1-527e92a78680"
      unitRef="usd">187696000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMjEtOC0xLTEtMA_fc6a5e3c-4ee3-4721-b892-df2dcb361f06"
      unitRef="usd">130006000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMjItMi0xLTEtMA_b797e45b-5f55-4ca8-b8bf-a332d8d13b55"
      unitRef="usd">23428000</us-gaap:ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost>
    <us-gaap:ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMjItNC0xLTEtMA_00db6414-d3d3-45f2-8eaa-be06e3cac88e"
      unitRef="usd">21949000</us-gaap:ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost>
    <us-gaap:ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMjItNi0xLTEtMA_e9f7d104-8e47-45f4-9552-cb706e6d30ec"
      unitRef="usd">45241000</us-gaap:ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost>
    <us-gaap:ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMjItOC0xLTEtMA_4a539588-8a86-4c12-9f85-10c881631ecc"
      unitRef="usd">44310000</us-gaap:ResearchAndDevelopmentExpenseSoftwareExcludingAcquiredInProcessCost>
    <tyl:AmortizationOfCustomerAndTradeNamesIntangibleAssets
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMjMtMi0xLTEtMA_9073d318-3bc7-4aa4-b5fb-6dc47e09ffae"
      unitRef="usd">11420000</tyl:AmortizationOfCustomerAndTradeNamesIntangibleAssets>
    <tyl:AmortizationOfCustomerAndTradeNamesIntangibleAssets
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMjMtNC0xLTEtMA_d735c92e-7cb5-4356-a1df-79ab6203d87e"
      unitRef="usd">5392000</tyl:AmortizationOfCustomerAndTradeNamesIntangibleAssets>
    <tyl:AmortizationOfCustomerAndTradeNamesIntangibleAssets
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMjMtNi0xLTEtMA_ae9035a2-a69d-409b-bd8e-94d13ab42f8c"
      unitRef="usd">16832000</tyl:AmortizationOfCustomerAndTradeNamesIntangibleAssets>
    <tyl:AmortizationOfCustomerAndTradeNamesIntangibleAssets
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMjMtOC0xLTEtMA_00981656-16aa-4522-842c-2c835e2dfde8"
      unitRef="usd">10784000</tyl:AmortizationOfCustomerAndTradeNamesIntangibleAssets>
    <us-gaap:OperatingIncomeLoss
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMjUtMi0xLTEtMA_e108c4b0-aa60-472f-a651-1f9c25624393"
      unitRef="usd">38291000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMjUtNC0xLTEtMA_fa3ad108-9972-4d7e-b484-6903cb5d4b96"
      unitRef="usd">41341000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMjUtNi0xLTEtMA_1e91492e-e07c-4afd-844d-caa787737765"
      unitRef="usd">76499000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMjUtOC0xLTEtMA_e8080dac-9063-4850-a4d7-e2c9a0be796e"
      unitRef="usd">75234000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMjctMi0xLTEtMA_f4ef9856-0a32-42f3-b069-a2a0f6d01ab8"
      unitRef="usd">-12199000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMjctNC0xLTEtMA_b1de7acc-842a-46de-807e-b095ad7a49c4"
      unitRef="usd">470000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMjctNi0xLTEtMA_910f5221-2955-4bef-a5d1-67d3672bafca"
      unitRef="usd">-12111000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMjctOC0xLTEtMA_171bd0c5-aec2-44c9-a265-6d7e4fd21a11"
      unitRef="usd">1460000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMjgtMi0xLTEtMA_2b627532-3902-4731-897d-dda7caed4dfd"
      unitRef="usd">26092000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMjgtNC0xLTEtMA_b8113a10-9cca-4fd3-81a3-c9fc17a3603d"
      unitRef="usd">41811000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMjgtNi0xLTEtMA_e6b11b41-c229-4287-8607-21a4c04983e1"
      unitRef="usd">64388000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMjgtOC0xLTEtMA_2cfef6cf-ef53-40e8-b36b-3e43e4808f51"
      unitRef="usd">76694000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMjktMi0xLTEtMA_de714176-c651-4d97-aac0-fbe7ba8df252"
      unitRef="usd">562000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMjktNC0xLTEtMA_51040969-102f-4fe1-ba17-5777dd41adeb"
      unitRef="usd">-12081000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMjktNi0xLTEtMA_dcdbb2aa-9239-4840-840c-637f36ccb84c"
      unitRef="usd">1882000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMjktOC0xLTEtMA_67c7364b-c42d-4d2a-9b38-409708150973"
      unitRef="usd">-24748000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMzAtMi0xLTEtMA_e9bc21d7-2f9f-4166-894d-b3c16585c6fc"
      unitRef="usd">25530000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMzAtNC0xLTEtMA_c584c6b8-91cb-4258-b360-3220bd5dcf21"
      unitRef="usd">53892000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMzAtNi0xLTEtMA_21a480a0-a245-4737-b3d5-65a80abe3006"
      unitRef="usd">62506000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMzAtOC0xLTEtMA_53239bf0-22dc-4aa4-b81f-b42ddb18d36d"
      unitRef="usd">101442000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMzMtMi0xLTEtMA_594e5282-0716-4ead-a89f-2f171447c2da"
      unitRef="usdPerShare">0.63</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMzMtNC0xLTEtMA_346323c7-7ed1-4ae0-9a9a-7c2a8d5a9b2c"
      unitRef="usdPerShare">1.35</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMzMtNi0xLTEtMA_de68ed08-29e2-4703-9b42-6e494d4d3a5e"
      unitRef="usdPerShare">1.53</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMzMtOC0xLTEtMA_8f373afe-ea94-4d42-95c6-535312da868f"
      unitRef="usdPerShare">2.54</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMzQtMi0xLTEtMA_b93f4c95-5efb-4d6f-a901-33ae942c12eb"
      unitRef="usdPerShare">0.61</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMzQtNC0xLTEtMA_92b9252b-2e3d-4ecc-9308-7849140fd115"
      unitRef="usdPerShare">1.30</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMzQtNi0xLTEtMA_dac6eb5f-5b8a-472e-a80e-149390bcd0f2"
      unitRef="usdPerShare">1.48</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xMy9mcmFnOmE5NGQ2ZDRlZjg5OTQ4MWZhY2ZlODk0Mzg5YWFjNDg1L3RhYmxlOjM4ZDA3NDdlM2M1YjQwMzU4ZWExMTkxZThiYWY0Nzk0L3RhYmxlcmFuZ2U6MzhkMDc0N2UzYzViNDAzNThlYTExOTFlOGJhZjQ3OTRfMzQtOC0xLTEtMA_269a6d33-bf3f-4219-a9c4-58ea0da01464"
      unitRef="usdPerShare">2.44</us-gaap:EarningsPerShareDiluted>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMy0yLTEtMS0w_be10473a-0ce5-428b-836a-e8043f9067eb"
      unitRef="usd">216773000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMy00LTEtMS0w_b65ff92f-6f07-4b96-86ac-d11eee3d1870"
      unitRef="usd">603623000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNC0wLTEtMS0wL3RleHRyZWdpb246YTZiNDlhZmVkYzI1NDE2OGJiZGZhN2VlMzM5ZTkzZWRfNzY_479849f4-db0d-4c94-bb43-24e197fc78be"
      unitRef="usd">8087000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNC0wLTEtMS0wL3RleHRyZWdpb246YTZiNDlhZmVkYzI1NDE2OGJiZGZhN2VlMzM5ZTkzZWRfOTE_8f885d3e-b656-461e-92dd-caf94c4c3850"
      unitRef="usd">9255000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNC0yLTEtMS0w_ff484f9b-7c0d-4493-b9c1-5564bb9c07d8"
      unitRef="usd">584156000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNC00LTEtMS0w_e7a72a83-8a4f-4fe1-a030-1d440f5b92a0"
      unitRef="usd">382319000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:ShortTermInvestments
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNS0yLTEtMS0w_10a92468-029b-472d-aa87-7820f72d02c1"
      unitRef="usd">51223000</us-gaap:ShortTermInvestments>
    <us-gaap:ShortTermInvestments
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNS00LTEtMS0w_82101c56-f7e1-4d2f-8934-0dd69b4416d6"
      unitRef="usd">72187000</us-gaap:ShortTermInvestments>
    <us-gaap:PrepaidExpenseCurrent
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNi0yLTEtMS0w_7d8c0853-212d-4f12-bc8a-1b90139eb1b3"
      unitRef="usd">52413000</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:PrepaidExpenseCurrent
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNi00LTEtMS0w_3bb6d849-d7bd-4bfb-897e-352f4d6b0ece"
      unitRef="usd">30864000</us-gaap:PrepaidExpenseCurrent>
    <us-gaap:IncomeTaxReceivable
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNy0yLTEtMS0w_783ff283-3d52-4b4a-8743-1d3d66f31e47"
      unitRef="usd">20404000</us-gaap:IncomeTaxReceivable>
    <us-gaap:IncomeTaxReceivable
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNy00LTEtMS0w_6888cdae-97f2-4c3c-af7b-89f0573536f5"
      unitRef="usd">21598000</us-gaap:IncomeTaxReceivable>
    <us-gaap:OtherAssetsCurrent
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfOC0yLTEtMS0w_58674053-e764-42d9-97b1-6a94b2bc2740"
      unitRef="usd">3959000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfOC00LTEtMS0w_bb5feaee-f6ab-485f-9ddf-18c863780197"
      unitRef="usd">2479000</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfOS0yLTEtMS0w_de2d1892-5f6c-4f08-bfaf-b000a0889ba7"
      unitRef="usd">928928000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfOS00LTEtMS0w_757fd0fe-deea-4052-baa0-01100a8a2e13"
      unitRef="usd">1113070000</us-gaap:AssetsCurrent>
    <us-gaap:AccountsReceivableNetNoncurrent
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMTEtMi0xLTEtMA_7b5c0f5f-c1cb-480b-837c-cfe460f828ed"
      unitRef="usd">15744000</us-gaap:AccountsReceivableNetNoncurrent>
    <us-gaap:AccountsReceivableNetNoncurrent
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMTEtNC0xLTEtMA_7d1fd334-6fef-4a17-8d24-60a4544262c6"
      unitRef="usd">21417000</us-gaap:AccountsReceivableNetNoncurrent>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMTItMi0xLTEtMA_f1ce48b8-2a2c-455f-90eb-c360da33352e"
      unitRef="usd">28230000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMTItNC0xLTEtMA_0f01e994-116d-433a-abff-88f4e15fd8ac"
      unitRef="usd">18734000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMTMtMi0xLTEtMA_fca7ea73-0452-4703-8747-235362ce1a51"
      unitRef="usd">177712000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMTMtNC0xLTEtMA_e88dde91-9d61-400c-a13b-c92acd1c8f90"
      unitRef="usd">168004000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomers
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMTUtMi0xLTEtMA_87b89a04-0016-4963-aaa7-40933a9f8e55"
      unitRef="usd">17179000</us-gaap:CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomers>
    <us-gaap:CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomers
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMTUtNC0xLTEtMA_703c244e-c222-4edf-a1cc-845d77075fba"
      unitRef="usd">9121000</us-gaap:CapitalizedSoftwareDevelopmentCostsForSoftwareSoldToCustomers>
    <us-gaap:Goodwill
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMTYtMi0xLTEtMA_a2b3fd54-62fc-4c4d-9e26-1969a9fce0e3"
      unitRef="usd">2309434000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMTYtNC0xLTEtMA_857956b8-432e-4d4b-bd0a-6bde4d61eb2f"
      unitRef="usd">838428000</us-gaap:Goodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMTctMi0xLTEtMA_4822c332-aff9-4d81-8163-9cf45964bfcc"
      unitRef="usd">1045580000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMTctNC0xLTEtMA_21bf7c1d-ff10-409e-81fb-eb2b13a03c3c"
      unitRef="usd">322068000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:Investments
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMTgtMi0xLTEtMA_3d73b46d-9b7a-48aa-8414-f480dad11390"
      unitRef="usd">79057000</us-gaap:Investments>
    <us-gaap:Investments
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMTgtNC0xLTEtMA_6daba692-d667-4ef3-8510-e07d1055fdf4"
      unitRef="usd">82640000</us-gaap:Investments>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMTktMi0xLTEtMA_243d11f9-ac56-4bc2-bd27-fca3b60defaa"
      unitRef="usd">39139000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMTktNC0xLTEtMA_363fb627-11ba-4541-8deb-e4ceeaf62957"
      unitRef="usd">33792000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMjAtMi0xLTEtMA_e5019a2c-9ca7-4909-bbb1-586de2b103a3"
      unitRef="usd">4641003000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMjAtNC0xLTEtMA_4b112e7b-35e2-45df-9f91-ec8fb9f9b05a"
      unitRef="usd">2607274000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMjQtMi0xLTEtMA_554707f3-35c7-48a6-a88f-dff58e80a08a"
      unitRef="usd">106727000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMjQtNC0xLTEtMA_d59d2c18-5844-48fd-8e46-3098992b3016"
      unitRef="usd">14011000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMjUtMi0xLTEtMA_153a2604-d6f2-4c2b-93b6-b88bd7b7b2f6"
      unitRef="usd">134904000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMjUtNC0xLTEtMA_1a628dc6-c70b-4c1b-a54c-dba1c05434c3"
      unitRef="usd">83084000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMjYtMi0xLTEtMA_38dcec1d-4a0f-4feb-8f11-4aaea0736272"
      unitRef="usd">9666000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMjYtNC0xLTEtMA_aa4be81b-2e28-4c1c-9ea2-bbb6bcf7472a"
      unitRef="usd">5904000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMjgtMi0xLTEtMA_5d1743ae-b5c3-4479-899f-aa382b4dd05c"
      unitRef="usd">484482000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMjgtNC0xLTEtMA_2f9de67e-bd41-470b-85dd-cd891b78e4d2"
      unitRef="usd">461278000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:MediumtermNotesCurrent
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMjktMi0xLTEtMjc2OQ_2b348a13-9749-4319-9b64-74eb501d8d4b"
      unitRef="usd">30000000</us-gaap:MediumtermNotesCurrent>
    <us-gaap:MediumtermNotesCurrent
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMjktNC0xLTEtMjc2OQ_9676380d-16d7-4463-a76e-c96cf4ba5da2"
      unitRef="usd">0</us-gaap:MediumtermNotesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMzAtMi0xLTEtMA_d0344b95-0d3c-404d-b055-7913679a6f10"
      unitRef="usd">765779000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMzAtNC0xLTEtMA_ab508049-8ada-409c-93c3-dac094ab2eee"
      unitRef="usd">564277000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermLineOfCredit
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMzItMi0xLTEtMA_4ac85cce-5229-4416-943a-c7cf01fdd421"
      unitRef="usd">65000000</us-gaap:LongTermLineOfCredit>
    <us-gaap:LongTermLineOfCredit
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMzItNC0xLTEtMA_ac8f24bd-4ba6-4c09-ab85-a5842a16a249"
      unitRef="usd">0</us-gaap:LongTermLineOfCredit>
    <us-gaap:MediumtermNotesNoncurrent
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMzMtMi0xLTEtMjIxNA_133da35d-975b-4d5e-bbf6-73935d24c058"
      unitRef="usd">862559000</us-gaap:MediumtermNotesNoncurrent>
    <us-gaap:MediumtermNotesNoncurrent
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMzMtNC0xLTEtMjIxNA_ca841fdd-2151-4121-a568-db9f75be0355"
      unitRef="usd">0</us-gaap:MediumtermNotesNoncurrent>
    <us-gaap:ConvertibleDebtNoncurrent
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMzMtMi0xLTEtMA_d08fa2d9-a6a3-4c6f-b98f-5ca00276055b"
      unitRef="usd">591906000</us-gaap:ConvertibleDebtNoncurrent>
    <us-gaap:ConvertibleDebtNoncurrent
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMzMtNC0xLTEtMA_52e24f38-28d7-498b-b8c7-6dcdad50b722"
      unitRef="usd">0</us-gaap:ConvertibleDebtNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMzQtMi0xLTEtMA_d5f362dc-81fe-401c-9fef-9ea8412a1c21"
      unitRef="usd">68000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMzQtNC0xLTEtMA_88672c13-6c6e-49ce-a248-43eeb3d7980f"
      unitRef="usd">100000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMzUtMi0xLTEtMA_f4b8dadf-df8f-436d-9674-225b21b878d1"
      unitRef="usd">220680000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMzUtNC0xLTEtMA_bbb8d8f6-95ac-48bf-9987-5084e79a1528"
      unitRef="usd">40507000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMzYtMi0xLTEtMA_eed8f6da-f45c-46e2-b932-f32f5cbf344e"
      unitRef="usd">22118000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMzYtNC0xLTEtMA_2d5692e4-f8ec-4b82-90f4-cf462337cd68"
      unitRef="usd">16279000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMzktMi0xLTEtMzQzMw_15f32017-c81f-4a3f-935b-a69f29a282c3"
      unitRef="usd">4902000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMzktNC0xLTEtMzQzMw_d2e1bc26-5a7f-4be8-a496-b012e53e3293"
      unitRef="usd">0</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:CommitmentsAndContingencies
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMzgtMi0xLTEtMA_d2ee7140-2f25-4ca2-8ce5-e4f23b8ce7ba"
      unitRef="usd">0</us-gaap:CommitmentsAndContingencies>
    <us-gaap:CommitmentsAndContingencies
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfMzgtNC0xLTEtMA_20162de6-2f2b-4648-9aab-f302b001f75e"
      unitRef="usd">0</us-gaap:CommitmentsAndContingencies>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDEtMC0xLTEtMC90ZXh0cmVnaW9uOjBjN2U0NTU0OWFmYjQ3NmE5ZjljZTUzZDUyMzNmZDAzXzIx_4597cb17-8b3c-410a-aa3b-3d828a88b55d"
      unitRef="usdPerShare">10.00</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockParOrStatedValuePerShare
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDEtMC0xLTEtMC90ZXh0cmVnaW9uOjBjN2U0NTU0OWFmYjQ3NmE5ZjljZTUzZDUyMzNmZDAzXzIx_bbdc4e5a-b182-42dc-8610-0cb47d3f79cc"
      unitRef="usdPerShare">10.00</us-gaap:PreferredStockParOrStatedValuePerShare>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDEtMC0xLTEtMC90ZXh0cmVnaW9uOjBjN2U0NTU0OWFmYjQ3NmE5ZjljZTUzZDUyMzNmZDAzXzM1_639b8100-1501-467b-b19d-65f5bc9715ee"
      unitRef="shares">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesAuthorized
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDEtMC0xLTEtMC90ZXh0cmVnaW9uOjBjN2U0NTU0OWFmYjQ3NmE5ZjljZTUzZDUyMzNmZDAzXzM1_c45a3748-5a83-4275-82c4-cdccd7d62688"
      unitRef="shares">1000000</us-gaap:PreferredStockSharesAuthorized>
    <us-gaap:PreferredStockSharesIssued
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDEtMC0xLTEtMC90ZXh0cmVnaW9uOjBjN2U0NTU0OWFmYjQ3NmE5ZjljZTUzZDUyMzNmZDAzXzU3_a25a3197-dac8-4a85-8008-193e8b1282d5"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockSharesIssued
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDEtMC0xLTEtMC90ZXh0cmVnaW9uOjBjN2U0NTU0OWFmYjQ3NmE5ZjljZTUzZDUyMzNmZDAzXzU3_e126c79d-21a1-4f54-8860-d2d4df901691"
      unitRef="shares">0</us-gaap:PreferredStockSharesIssued>
    <us-gaap:PreferredStockValue
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDEtMi0xLTEtMA_a3756d23-3d0a-4a08-b598-d41fc5c3f1f7"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:PreferredStockValue
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDEtNC0xLTEtMA_e6b63b63-ace2-471d-8a9a-4689459294a3"
      unitRef="usd">0</us-gaap:PreferredStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDItMC0xLTEtMC90ZXh0cmVnaW9uOmExNmVmYmNiYTVmNjQ0MTViMWQ5ODFiMzc4NWE2MTE3XzE4_7aa78cee-43a5-42d5-975d-f8196c4618ee"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDItMC0xLTEtMC90ZXh0cmVnaW9uOmExNmVmYmNiYTVmNjQ0MTViMWQ5ODFiMzc4NWE2MTE3XzE4_cb05d0c4-e937-496f-afae-5adcc3b11494"
      unitRef="usdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDItMC0xLTEtMC90ZXh0cmVnaW9uOmExNmVmYmNiYTVmNjQ0MTViMWQ5ODFiMzc4NWE2MTE3XzMy_ed42b16b-3480-4ec6-a8ce-877b764b1040"
      unitRef="shares">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDItMC0xLTEtMC90ZXh0cmVnaW9uOmExNmVmYmNiYTVmNjQ0MTViMWQ5ODFiMzc4NWE2MTE3XzMy_f01b8772-a8a4-4c60-9b6a-1eff75bd877d"
      unitRef="shares">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDItMC0xLTEtMC90ZXh0cmVnaW9uOmExNmVmYmNiYTVmNjQ0MTViMWQ5ODFiMzc4NWE2MTE3XzU0_86de5add-6a6d-4a47-8811-19ceb33a9669"
      unitRef="shares">48147969</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDItMC0xLTEtMC90ZXh0cmVnaW9uOmExNmVmYmNiYTVmNjQ0MTViMWQ5ODFiMzc4NWE2MTE3XzU0_aa69ab16-9b21-430c-b1c6-624b62c0dea1"
      unitRef="shares">48147969</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDItMC0xLTEtMC90ZXh0cmVnaW9uOmExNmVmYmNiYTVmNjQ0MTViMWQ5ODFiMzc4NWE2MTE3XzU0_da15e2c4-1af3-4ee4-9d9b-7eabe34f0398"
      unitRef="shares">48147969</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDItMC0xLTEtMC90ZXh0cmVnaW9uOmExNmVmYmNiYTVmNjQ0MTViMWQ5ODFiMzc4NWE2MTE3XzU0_f08d3bff-f93e-4c88-abf8-c84b8699d8eb"
      unitRef="shares">48147969</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDItMi0xLTEtMA_64cf460c-bbae-43d4-bbfe-5d0357a5ef95"
      unitRef="usd">481000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDItNC0xLTEtMA_e2a3e11c-894e-451f-9d50-dd413523fe6f"
      unitRef="usd">481000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDMtMi0xLTEtMA_0d890a93-d5be-45d2-badc-7a6e0bddfb9b"
      unitRef="usd">962557000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDMtNC0xLTEtMA_25600742-3f98-4555-9f11-1e70a129f2b4"
      unitRef="usd">905332000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDQtMi0xLTEtMA_14a36289-cc62-41f8-8d64-53143d109793"
      unitRef="usd">-46000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDQtNC0xLTEtMA_646b37be-bcfb-44bf-8b96-373d662f3f03"
      unitRef="usd">-46000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDUtMi0xLTEtMA_f26313d1-f45f-4c66-a1e2-9f5b8a476148"
      unitRef="usd">1174662000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDUtNC0xLTEtMA_dee69764-6a55-47a7-8868-1c85815327d3"
      unitRef="usd">1112156000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:TreasuryStockShares
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDYtMC0xLTEtMC90ZXh0cmVnaW9uOjdkNGQ4YmFiNmZiYjQ0MWRhYjgwN2U5ZjBlNTI4NGUyXzI5_8cd54bc7-f1f4-4190-ad32-f89da0112743"
      unitRef="shares">7315159</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockShares
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDYtMC0xLTEtMC90ZXh0cmVnaW9uOjdkNGQ4YmFiNmZiYjQ0MWRhYjgwN2U5ZjBlNTI4NGUyXzM2_6f6c9b4c-9975-4e39-a9c3-0e8bd5b6ffc2"
      unitRef="shares">7608627</us-gaap:TreasuryStockShares>
    <us-gaap:TreasuryStockValue
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDYtMi0xLTEtMA_7bcd255e-0db1-4e1d-ae50-aa0f86116cf2"
      unitRef="usd">29663000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDYtNC0xLTEtMA_6413c5b3-1983-40f7-a920-a41e3ae3e442"
      unitRef="usd">31812000</us-gaap:TreasuryStockValue>
    <us-gaap:StockholdersEquity
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDctMi0xLTEtMA_73cb7cb2-74c8-4b7a-a705-ec1f47cac2ac"
      unitRef="usd">2107991000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDctNC0xLTEtMA_6238bd3a-a526-4832-984b-f58d3f17c9e7"
      unitRef="usd">1986111000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDgtMi0xLTEtMA_f5b75e7c-2447-48f8-8ff9-3a61e18f3b41"
      unitRef="usd">4641003000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xNi9mcmFnOjU2MTVhM2I0M2E0YTRjNDlhZGI5ZDZhZDVlODljZDRkL3RhYmxlOjI3MGFhNWIwNGEyMjQ0MjNiNzY0Zjk5ODYwMTEyYjFlL3RhYmxlcmFuZ2U6MjcwYWE1YjA0YTIyNDQyM2I3NjRmOTk4NjAxMTJiMWVfNDgtNC0xLTEtMA_8f810d6b-1102-4009-8ea6-7f4a1fb74241"
      unitRef="usd">2607274000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMy0yLTEtMS0w_2c9be75c-2c1b-4de8-8bc0-fba1dcb0ae7f"
      unitRef="usd">62506000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMy00LTEtMS0w_b2b10208-2256-4ce8-8590-c00eb61a8b1e"
      unitRef="usd">101442000</us-gaap:NetIncomeLoss>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfNS0yLTEtMS0w_d5169fca-5273-44dd-9a74-9e3d4f797e3c"
      unitRef="usd">60976000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:DepreciationDepletionAndAmortization
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfNS00LTEtMS0w_781a5aa1-2372-42ed-9ac5-33bf4578f83a"
      unitRef="usd">40270000</us-gaap:DepreciationDepletionAndAmortization>
    <us-gaap:ShareBasedCompensation
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfNi0yLTEtMS0w_8936439a-5d65-4727-b41c-2b42b2009e72"
      unitRef="usd">50899000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfNi00LTEtMS0w_2fbf7353-4281-46b1-b7a0-18491bb61d16"
      unitRef="usd">35688000</us-gaap:ShareBasedCompensation>
    <tyl:OperatingLeaseRightOfUseAssetsNonCash
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfOC0yLTEtMS0w_e303c2c7-35a7-4bc5-a2dc-d4f1a4a1ad26"
      unitRef="usd">4034000</tyl:OperatingLeaseRightOfUseAssetsNonCash>
    <tyl:OperatingLeaseRightOfUseAssetsNonCash
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfOC00LTEtMS0w_68b118f8-d639-412e-bfca-92448c2fd14c"
      unitRef="usd">2843000</tyl:OperatingLeaseRightOfUseAssetsNonCash>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfOS0yLTEtMS0w_4e937c08-4e18-4475-8cb6-0c4bda822672"
      unitRef="usd">-6430000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfOS00LTEtMS0w_18511f13-9fdc-4d2e-8dc5-7feb2fd44223"
      unitRef="usd">-3729000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMTEtMi0xLTEtMA_26f6cd03-b72d-48d8-ac7b-72ad5cb9dd15"
      unitRef="usd">46312000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMTEtNC0xLTEtMA_56bf8cde-0287-4eb3-a694-6ba28ced831b"
      unitRef="usd">30332000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMTItMi0xLTEtMA_efa52b3b-3589-485a-a8f0-becc41ad8bf9"
      unitRef="usd">7276000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMTItNC0xLTEtMA_470b657f-6f51-4831-bd50-9723ef914400"
      unitRef="usd">-21453000</us-gaap:IncreaseDecreaseInAccruedIncomeTaxesPayable>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMTMtMi0xLTEtMA_93094f95-6669-4211-8066-79d2d1bf9be8"
      unitRef="usd">10434000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMTMtNC0xLTEtMA_01c11c30-6aa3-4b5c-b269-fdb81ba1c4cb"
      unitRef="usd">9870000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMTQtMi0xLTEtMA_acba47fe-1121-4d50-afe4-7493bf804d5d"
      unitRef="usd">-57471000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMTQtNC0xLTEtMA_4db93308-0321-48a5-a0c7-4311c66aaa7d"
      unitRef="usd">-6338000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <tyl:IncreaseDecreaseInOperatingLeaseLiabilities
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMTUtMi0xLTEtMA_933f45f9-b248-4e31-94a2-0fbf13aa2a6d"
      unitRef="usd">-4361000</tyl:IncreaseDecreaseInOperatingLeaseLiabilities>
    <tyl:IncreaseDecreaseInOperatingLeaseLiabilities
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMTUtNC0xLTEtMA_bf6c1981-2055-4839-bc76-38b05eb10654"
      unitRef="usd">-3375000</tyl:IncreaseDecreaseInOperatingLeaseLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMTYtMi0xLTEtMA_f9dea8e4-fa56-4eec-ac2e-f9823f5bc001"
      unitRef="usd">-30217000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMTYtNC0xLTEtMA_816971c9-c37e-4627-9a01-cfd483e08d6f"
      unitRef="usd">-19136000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMTctMi0xLTEtMA_aafe7ceb-e195-4b4e-a01e-76c98729d18b"
      unitRef="usd">20868000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMTctNC0xLTEtMA_edc495ca-0c38-4200-b47a-2a3e3cc7168c"
      unitRef="usd">10510000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMTgtMi0xLTEtMzUzMg_f5502b62-c1c1-4c64-b40a-feb40f7e0e7c"
      unitRef="usd">22000</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMTgtNC0xLTEtMzUzMg_cb74f334-2a10-41a0-83a7-314318629598"
      unitRef="usd">0</us-gaap:IncreaseDecreaseInOtherNoncurrentLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMTgtMi0xLTEtMA_37c95c01-9421-44c0-ab9f-7e7f16d6c5c9"
      unitRef="usd">51356000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMTgtNC0xLTEtMA_b38453ee-63d5-4825-8fbe-c59e026e2482"
      unitRef="usd">96520000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMjEtMi0xLTEtMA_f30dcd4b-2f87-416f-8329-b43344b691d2"
      unitRef="usd">14223000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMjEtNC0xLTEtMA_139aa1da-6876-4319-b5fc-17f60036db27"
      unitRef="usd">16268000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquireMarketableSecurities
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMjItMi0xLTEtMA_9b99033a-0a56-4b96-bfe2-cee79e42106b"
      unitRef="usd">68054000</us-gaap:PaymentsToAcquireMarketableSecurities>
    <us-gaap:PaymentsToAcquireMarketableSecurities
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMjItNC0xLTEtMA_28f266f3-4fc1-47d8-b8a8-cb8359a07047"
      unitRef="usd">79747000</us-gaap:PaymentsToAcquireMarketableSecurities>
    <us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMjMtMi0xLTEtMA_41c24f46-cb9e-4078-944d-993b9a09dba6"
      unitRef="usd">91395000</us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities>
    <us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMjMtNC0xLTEtMA_f030db5a-c76f-4b97-8b35-ef8cf47a1bfb"
      unitRef="usd">40020000</us-gaap:ProceedsFromSaleAndMaturityOfMarketableSecurities>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMjQtMi0xLTEtMA_f079ecec-9648-4931-b42a-e08d6e66e839"
      unitRef="usd">0</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMjQtNC0xLTEtMA_e8f5ea69-0bc9-4383-9431-e1667e5dbe5c"
      unitRef="usd">10000000</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:ProceedsFromSaleOfEquityMethodInvestments
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMjUtMi0xLTEtMA_e0fac739-283b-4e2b-8b16-2e13d875eb3f"
      unitRef="usd">0</us-gaap:ProceedsFromSaleOfEquityMethodInvestments>
    <us-gaap:ProceedsFromSaleOfEquityMethodInvestments
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMjUtNC0xLTEtMA_ca9ddf15-1e47-402d-998b-a93df91ccc88"
      unitRef="usd">15000000</us-gaap:ProceedsFromSaleOfEquityMethodInvestments>
    <us-gaap:PaymentsForSoftware
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMjYtMi0xLTEtMA_179e8018-1dcd-4368-9d5c-bab1fe355a91"
      unitRef="usd">8947000</us-gaap:PaymentsForSoftware>
    <us-gaap:PaymentsForSoftware
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMjYtNC0xLTEtMA_9e4a8096-566c-4ebf-bbd6-f6f480ecf54e"
      unitRef="usd">2695000</us-gaap:PaymentsForSoftware>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMjctMi0xLTEtMA_47733c0e-29a2-4adf-bcd6-de50f77ebf90"
      unitRef="usd">1998902000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMjctNC0xLTEtMA_972a294c-58cd-46d7-bd31-c968bf7e7694"
      unitRef="usd">261000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsForProceedsFromOtherInvestingActivities
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMjgtMi0xLTEtMA_3af8e51b-1581-4122-826b-e18555f082f6"
      unitRef="usd">-39000</us-gaap:PaymentsForProceedsFromOtherInvestingActivities>
    <us-gaap:PaymentsForProceedsFromOtherInvestingActivities
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMjgtNC0xLTEtMA_079b529b-3373-43ce-b1a6-242e4ebbd563"
      unitRef="usd">328000</us-gaap:PaymentsForProceedsFromOtherInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMjktMi0xLTEtMA_66c5fd3a-44c8-42ba-8d50-38fe7b47f2ed"
      unitRef="usd">-1998692000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMjktNC0xLTEtMA_a7864e5c-821e-46e4-a572-b88c25421cae"
      unitRef="usd">-54279000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMzItMi0xLTEtMA_35ae9836-80be-4a28-841f-79607a0cfa14"
      unitRef="usd">65000000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMzItNC0xLTEtMA_cba9ec2e-378a-43aa-bb68-e2f611c07716"
      unitRef="usd">0</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:ProceedsFromIssuanceOfMediumTermNotes
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMzMtMi0xLTEtMzMzOA_12dd3bca-f440-43be-8b81-000c8bb904ea"
      unitRef="usd">900000000</us-gaap:ProceedsFromIssuanceOfMediumTermNotes>
    <us-gaap:ProceedsFromIssuanceOfMediumTermNotes
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMzMtNC0xLTEtMzMzOA_822f7f3e-365c-4856-87a8-967613b368aa"
      unitRef="usd">0</us-gaap:ProceedsFromIssuanceOfMediumTermNotes>
    <us-gaap:ProceedsFromConvertibleDebt
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMzMtMi0xLTEtMA_8e25bf41-789f-41ca-a6ab-85dfa4027819"
      unitRef="usd">600000000</us-gaap:ProceedsFromConvertibleDebt>
    <us-gaap:ProceedsFromConvertibleDebt
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMzMtNC0xLTEtMA_91ef01a8-40bf-4e48-865e-68279a65f575"
      unitRef="usd">0</us-gaap:ProceedsFromConvertibleDebt>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMzQtMi0xLTEtMA_523ae533-73cc-42c6-8cbc-5b19b554ee18"
      unitRef="usd">27127000</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsOfDebtIssuanceCosts
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMzQtNC0xLTEtMA_5cc81e4b-df64-4d55-98c2-e196fadf149f"
      unitRef="usd">0</us-gaap:PaymentsOfDebtIssuanceCosts>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMzUtMi0xLTEtMA_86fa7470-e6c4-4f7b-8165-632706be4234"
      unitRef="usd">12975000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMzUtNC0xLTEtMA_10cee002-d681-4750-a28f-b72eb8c6fd79"
      unitRef="usd">15482000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMzYtMi0xLTEtMA_4937d231-7cbc-4f28-bd18-3bff2cfa4b9c"
      unitRef="usd">0</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMzYtNC0xLTEtMA_8fef9b14-c8d9-416a-96b7-20577d004d00"
      unitRef="usd">5619000</us-gaap:PaymentForContingentConsiderationLiabilityFinancingActivities>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMzctMi0xLTEtMA_a77bfb45-124e-439b-b200-a334a21eb507"
      unitRef="usd">29388000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMzctNC0xLTEtMA_79312a0d-b67f-4bc9-bc73-45442759c8d4"
      unitRef="usd">92337000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockPlans
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMzgtMi0xLTEtMA_3e949188-2fd7-4749-80e6-baa2200b95a0"
      unitRef="usd">6200000</us-gaap:ProceedsFromStockPlans>
    <us-gaap:ProceedsFromStockPlans
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMzgtNC0xLTEtMA_5b6750d3-2c81-4b2e-aed7-a06f56cb967d"
      unitRef="usd">5177000</us-gaap:ProceedsFromStockPlans>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMzktMi0xLTEtMA_89ad6f1a-a48b-40e7-8ef7-ad066132e567"
      unitRef="usd">1560486000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfMzktNC0xLTEtMA_6d574b07-929a-4f1b-ac83-99e6cdf1e770"
      unitRef="usd">76413000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfNDEtMi0xLTEtMA_612b2ca4-2cff-4f44-9d8d-b11780fe7b8d"
      unitRef="usd">-386850000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfNDEtNC0xLTEtMA_46c0f9f1-9f43-4f2b-bc3f-3e91d72a8d78"
      unitRef="usd">118654000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfNDItMi0xLTEtMA_220d313b-7a58-4b54-aafe-dc8620381e73"
      unitRef="usd">603623000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i1d7b9ba78e7346d3893203ed75b4959f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfNDItNC0xLTEtMA_b38ea0d4-0442-4f36-b67f-298b0a99eb5d"
      unitRef="usd">232682000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfNDMtMi0xLTEtMA_402e1fa6-d82b-4131-b9d0-07d47decabf3"
      unitRef="usd">216773000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="ic2efe4110eeb498d9a9216a6090cf6cb_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8xOS9mcmFnOmY0YmU3YzNjNDk0ODQyZjZhNTUwYzQ3Nzk1NGI3MmE4L3RhYmxlOmE4MWE4MWQ5N2EzNjRhYzJiYmI4NmRkMjQ1YTUwYTNkL3RhYmxlcmFuZ2U6YTgxYTgxZDk3YTM2NGFjMmJiYjg2ZGQyNDVhNTBhM2RfNDMtNC0xLTEtMA_550768c0-5ec6-4b41-9f01-b1d958e96b24"
      unitRef="usd">351336000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:SharesIssued
      contextRef="i18410f8f46f54ee6af22cc2f73d07690_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfMi0xLTEtMS0w_0bb34cd8-e621-445b-bf4a-8dcbac5bd24b"
      unitRef="shares">48148000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i18410f8f46f54ee6af22cc2f73d07690_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfMi0zLTEtMS0w_1519cc97-c03e-4300-ba23-a637e3c86d34"
      unitRef="usd">481000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i52536e41c23d4e9b97d89938e64f2dde_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfMi01LTEtMS0w_aa053091-420a-4fc1-a03c-aea47f5c1626"
      unitRef="usd">941960000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ieed16c8c562d4a599a705d3d8534019d_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfMi03LTEtMS0w_20a167d3-916d-4a54-9da8-12246ea9f334"
      unitRef="usd">-46000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i46e7ef2e6293456bbec557d10e46a53c_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfMi05LTEtMS0w_9a53795d-6c3a-4fd7-9e79-77d57fe0a18b"
      unitRef="usd">1149132000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="i26104b62f01e4306b83b23259ceda981_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfMi0xMS0xLTEtMA_ddedd98e-ee54-4cfb-b7c6-b9bb11f6c106"
      unitRef="shares">7424000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i26104b62f01e4306b83b23259ceda981_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfMi0xMy0xLTEtMA_e8c45fe8-028d-4a3e-86cd-fd0e36ab0f87"
      unitRef="usd">-30534000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i8dd9b4c3cad24f34b6d858ece308137f_I20210331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfMi0xNS0xLTEtMA_ea51ee34-f1dc-4024-9c0f-0283802a83c7"
      unitRef="usd">2060993000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i42ed8858a1804f95980770af57b94479_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfMy05LTEtMS0w_72c83ede-3344-47c7-af3e-46dd1f1e2d90"
      unitRef="usd">25530000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfMy0xNS0xLTEtMA_a11e5b83-0ea2-4d3c-b8b9-3bf2815b94dd"
      unitRef="usd">25530000</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i289a8f6ccce141f3b32df98d8ba1e5b6_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfNC01LTEtMS0w_915f2efb-5db0-4754-96e5-c64522a89d36"
      unitRef="usd">-9544000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="i7ad379fd29bc47e88bbacd0bc118f767_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfNC0xMS0xLTEtMA_6a5404af-9817-46b9-acd9-b07573aed79b"
      unitRef="shares">150000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i7ad379fd29bc47e88bbacd0bc118f767_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfNC0xMy0xLTEtMA_b3c72893-353b-4d80-a441-024a73d115ad"
      unitRef="usd">20830000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfNC0xNS0xLTEtMA_d18d31ac-b4a1-44b0-adc7-f32e04218bc2"
      unitRef="usd">11286000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="i7ad379fd29bc47e88bbacd0bc118f767_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfNS0xMS0xLTEtMA_8616fb3f-d671-490c-a2b3-3576f38a87c9"
      unitRef="shares">18000</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i7ad379fd29bc47e88bbacd0bc118f767_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfNS0xMy0xLTEtMA_bf6543b4-e5d0-4c65-a1b5-071d13fe8b90"
      unitRef="usd">7052000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfNS0xNS0xLTEtMA_973c2f1e-7994-44eb-8a0d-073f04b0eced"
      unitRef="usd">7052000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i289a8f6ccce141f3b32df98d8ba1e5b6_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfNi01LTEtMS0w_5b2affab-405c-493e-a70f-aaea23a70ebc"
      unitRef="usd">25175000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfNi0xNS0xLTEtMA_b75d08a9-fcf3-4d7b-ae35-ac29e922c829"
      unitRef="usd">25175000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i289a8f6ccce141f3b32df98d8ba1e5b6_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfNy01LTEtMS0w_28046664-648a-4c41-b416-e51f6bcb71e3"
      unitRef="usd">3094000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="i7ad379fd29bc47e88bbacd0bc118f767_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfNy0xMS0xLTEtMA_7aa9241e-2787-42b2-940d-2908ae6c96b6"
      unitRef="shares">9000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i7ad379fd29bc47e88bbacd0bc118f767_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfNy0xMy0xLTEtMA_fd3df3ae-c807-402a-9a35-0514910b73e6"
      unitRef="usd">68000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfNy0xNS0xLTEtMA_23be0583-554a-478b-b734-347c480efe4e"
      unitRef="usd">3162000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="i7ad379fd29bc47e88bbacd0bc118f767_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfOC0xMS0xLTEtMA_e4500979-65ce-454f-8e19-fd4a3fcb2647"
      unitRef="shares">32000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i7ad379fd29bc47e88bbacd0bc118f767_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfOC0xMy0xLTEtMA_0f471b48-6aba-4b26-91e0-ea3a0ea45025"
      unitRef="usd">12975000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfOC0xNS0xLTEtMA_f13d4e0c-ce33-4041-8408-874007dd287b"
      unitRef="usd">12975000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="i289a8f6ccce141f3b32df98d8ba1e5b6_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfOS01LTEtMS0yNjM3_2e1e54f4-364b-4c40-b8fb-86d32b280110"
      unitRef="usd">1872000</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfOS0xNS0xLTEtMjYzNw_c6c0093b-ca37-4b3b-b812-948639fab703"
      unitRef="usd">1872000</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:SharesIssued
      contextRef="i66e0195c5caa41a7b7c2e623c5b09b58_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfOS0xLTEtMS0w_597bfc51-ec15-4e87-94b0-abd31f6a0a2b"
      unitRef="shares">48148000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i66e0195c5caa41a7b7c2e623c5b09b58_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfOS0zLTEtMS0w_5cdfc674-53f6-4d28-924b-1a4a16ed4517"
      unitRef="usd">481000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i661b9bdcfd014b48a882d126a1164b66_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfOS01LTEtMS0w_7b091af7-a099-4bfa-9042-fb912a750927"
      unitRef="usd">962557000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i6e81259e366f4a74b4dd1a7ba2796ad1_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfOS03LTEtMS0w_b02c9fcb-cc35-430a-b59c-d4271a3e321c"
      unitRef="usd">-46000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i2da290b8c00e4fe6a59399efae8b2833_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfOS05LTEtMS0w_ffe3e775-4598-4de0-aa82-e95d01303017"
      unitRef="usd">1174662000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="icadba8032e064a2e9d1f340c8b3309fc_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfOS0xMS0xLTEtMA_32fd7481-615f-4c0a-a584-3cde4d1b1a47"
      unitRef="shares">7315000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="icadba8032e064a2e9d1f340c8b3309fc_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfOS0xMy0xLTEtMA_e792aca0-4d16-4565-99fe-af1eeb7ea975"
      unitRef="usd">-29663000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOmQwZmU4ZTA1MjEwYzQ0ZTY5OTZiMjg2ODdiMmZkNGVjL3RhYmxlcmFuZ2U6ZDBmZThlMDUyMTBjNDRlNjk5NmIyODY4N2IyZmQ0ZWNfOS0xNS0xLTEtMA_46baa30d-4306-4d42-bbe5-db1c15879070"
      unitRef="usd">2107991000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="i67339f23132c4922aed372c040e5ee3e_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOjMzYzNlNDQ4ZjFhYjQ5NTU5Y2VkYTQwZTk1MTBmYzYwL3RhYmxlcmFuZ2U6MzNjM2U0NDhmMWFiNDk1NTljZWRhNDBlOTUxMGZjNjBfMi0xLTEtMS0w_2971c864-de99-4a61-b2e4-c47d08040373"
      unitRef="shares">48148000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i67339f23132c4922aed372c040e5ee3e_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOjMzYzNlNDQ4ZjFhYjQ5NTU5Y2VkYTQwZTk1MTBmYzYwL3RhYmxlcmFuZ2U6MzNjM2U0NDhmMWFiNDk1NTljZWRhNDBlOTUxMGZjNjBfMi0zLTEtMS0w_0a91372a-d77f-4a5d-a2c7-fd484e6a9222"
      unitRef="usd">481000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ib1a4b5b3147149b19c2a518a7c9272b0_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOjMzYzNlNDQ4ZjFhYjQ5NTU5Y2VkYTQwZTk1MTBmYzYwL3RhYmxlcmFuZ2U6MzNjM2U0NDhmMWFiNDk1NTljZWRhNDBlOTUxMGZjNjBfMi01LTEtMS0w_1166d8ab-56ba-4c4e-96b4-f623e90d728a"
      unitRef="usd">798089000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ife763a4e6bf945c39e0b2f6834b4f2fb_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOjMzYzNlNDQ4ZjFhYjQ5NTU5Y2VkYTQwZTk1MTBmYzYwL3RhYmxlcmFuZ2U6MzNjM2U0NDhmMWFiNDk1NTljZWRhNDBlOTUxMGZjNjBfMi03LTEtMS0w_187122ef-2b60-4a38-9e99-3859f299eae8"
      unitRef="usd">-46000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="if485a3274317461f94c81795d0643dd1_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOjMzYzNlNDQ4ZjFhYjQ5NTU5Y2VkYTQwZTk1MTBmYzYwL3RhYmxlcmFuZ2U6MzNjM2U0NDhmMWFiNDk1NTljZWRhNDBlOTUxMGZjNjBfMi05LTEtMS0w_fe0fc1db-8530-4ce0-b866-df8907a1cddc"
      unitRef="usd">964886000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="i6514c6d6b740477ca8d612dbe130880a_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOjMzYzNlNDQ4ZjFhYjQ5NTU5Y2VkYTQwZTk1MTBmYzYwL3RhYmxlcmFuZ2U6MzNjM2U0NDhmMWFiNDk1NTljZWRhNDBlOTUxMGZjNjBfMi0xMS0xLTEtMA_90f20fd6-23e6-443a-9f21-15cf7d4c40c6"
      unitRef="shares">8397000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i6514c6d6b740477ca8d612dbe130880a_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOjMzYzNlNDQ4ZjFhYjQ5NTU5Y2VkYTQwZTk1MTBmYzYwL3RhYmxlcmFuZ2U6MzNjM2U0NDhmMWFiNDk1NTljZWRhNDBlOTUxMGZjNjBfMi0xMy0xLTEtMA_1c8a6ffc-cd5b-4d37-bc45-3561d0052c58"
      unitRef="usd">-50578000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5a5ded34f9c14664945f3e2f0c1ebdfe_I20200331"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOjMzYzNlNDQ4ZjFhYjQ5NTU5Y2VkYTQwZTk1MTBmYzYwL3RhYmxlcmFuZ2U6MzNjM2U0NDhmMWFiNDk1NTljZWRhNDBlOTUxMGZjNjBfMi0xNS0xLTEtMA_2ee9ccc9-03c8-48d4-9b88-5db652fdaa54"
      unitRef="usd">1712832000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i39f534b63c484f19b825529d28181881_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOjMzYzNlNDQ4ZjFhYjQ5NTU5Y2VkYTQwZTk1MTBmYzYwL3RhYmxlcmFuZ2U6MzNjM2U0NDhmMWFiNDk1NTljZWRhNDBlOTUxMGZjNjBfMy05LTEtMS0w_349c0c94-3294-4c32-8cea-5ec59462905c"
      unitRef="usd">53892000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOjMzYzNlNDQ4ZjFhYjQ5NTU5Y2VkYTQwZTk1MTBmYzYwL3RhYmxlcmFuZ2U6MzNjM2U0NDhmMWFiNDk1NTljZWRhNDBlOTUxMGZjNjBfMy0xNS0xLTEtMA_2ff8704f-1775-46d0-9f86-de8a6dd99434"
      unitRef="usd">53892000</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i20bae190df0c465a99f8bf844c1c2cf1_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOjMzYzNlNDQ4ZjFhYjQ5NTU5Y2VkYTQwZTk1MTBmYzYwL3RhYmxlcmFuZ2U6MzNjM2U0NDhmMWFiNDk1NTljZWRhNDBlOTUxMGZjNjBfNC01LTEtMS0w_61a22a47-5dc6-4fb3-9f69-9c5c5544b744"
      unitRef="usd">27642000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="i37a3cb358e084d7ab5da832965a076e1_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOjMzYzNlNDQ4ZjFhYjQ5NTU5Y2VkYTQwZTk1MTBmYzYwL3RhYmxlcmFuZ2U6MzNjM2U0NDhmMWFiNDk1NTljZWRhNDBlOTUxMGZjNjBfNC0xMS0xLTEtMA_8afa0f48-3b02-414a-bc6d-d32226a6790b"
      unitRef="shares">482000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i37a3cb358e084d7ab5da832965a076e1_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOjMzYzNlNDQ4ZjFhYjQ5NTU5Y2VkYTQwZTk1MTBmYzYwL3RhYmxlcmFuZ2U6MzNjM2U0NDhmMWFiNDk1NTljZWRhNDBlOTUxMGZjNjBfNC0xMy0xLTEtMA_2475eb9c-bf9e-4e69-aeef-f7d64ec2449d"
      unitRef="usd">18459000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOjMzYzNlNDQ4ZjFhYjQ5NTU5Y2VkYTQwZTk1MTBmYzYwL3RhYmxlcmFuZ2U6MzNjM2U0NDhmMWFiNDk1NTljZWRhNDBlOTUxMGZjNjBfNC0xNS0xLTEtMA_14e9d33b-4abf-4e6d-9575-ea8957671bf1"
      unitRef="usd">46101000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="i37a3cb358e084d7ab5da832965a076e1_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOjMzYzNlNDQ4ZjFhYjQ5NTU5Y2VkYTQwZTk1MTBmYzYwL3RhYmxlcmFuZ2U6MzNjM2U0NDhmMWFiNDk1NTljZWRhNDBlOTUxMGZjNjBfNS0xMS0xLTEtMA_f5b79127-bc57-41ea-8121-0a651b9b8d46"
      unitRef="shares">12000</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i37a3cb358e084d7ab5da832965a076e1_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOjMzYzNlNDQ4ZjFhYjQ5NTU5Y2VkYTQwZTk1MTBmYzYwL3RhYmxlcmFuZ2U6MzNjM2U0NDhmMWFiNDk1NTljZWRhNDBlOTUxMGZjNjBfNS0xMy0xLTEtMA_186fbfe6-2eb4-416b-9b6d-a1b3908241a9"
      unitRef="usd">4591000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOjMzYzNlNDQ4ZjFhYjQ5NTU5Y2VkYTQwZTk1MTBmYzYwL3RhYmxlcmFuZ2U6MzNjM2U0NDhmMWFiNDk1NTljZWRhNDBlOTUxMGZjNjBfNS0xNS0xLTEtMA_98c882aa-f08b-4a6b-8e77-554d3e433e72"
      unitRef="usd">4591000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i20bae190df0c465a99f8bf844c1c2cf1_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOjMzYzNlNDQ4ZjFhYjQ5NTU5Y2VkYTQwZTk1MTBmYzYwL3RhYmxlcmFuZ2U6MzNjM2U0NDhmMWFiNDk1NTljZWRhNDBlOTUxMGZjNjBfNi01LTEtMS0w_85422a05-62d1-4f81-8824-fd6e0608c7b7"
      unitRef="usd">18386000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOjMzYzNlNDQ4ZjFhYjQ5NTU5Y2VkYTQwZTk1MTBmYzYwL3RhYmxlcmFuZ2U6MzNjM2U0NDhmMWFiNDk1NTljZWRhNDBlOTUxMGZjNjBfNi0xNS0xLTEtMA_98a4634d-fe0d-4497-b9ae-ba25bdfde518"
      unitRef="usd">18386000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i20bae190df0c465a99f8bf844c1c2cf1_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOjMzYzNlNDQ4ZjFhYjQ5NTU5Y2VkYTQwZTk1MTBmYzYwL3RhYmxlcmFuZ2U6MzNjM2U0NDhmMWFiNDk1NTljZWRhNDBlOTUxMGZjNjBfNy01LTEtMS0w_6c35f1bc-d32b-4c31-a7f3-93191b7ba1be"
      unitRef="usd">-119000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="i37a3cb358e084d7ab5da832965a076e1_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOjMzYzNlNDQ4ZjFhYjQ5NTU5Y2VkYTQwZTk1MTBmYzYwL3RhYmxlcmFuZ2U6MzNjM2U0NDhmMWFiNDk1NTljZWRhNDBlOTUxMGZjNjBfNy0xMS0xLTEtMA_ee9c2976-bdcb-4a90-bdb2-5e2103e0b637"
      unitRef="shares">10000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i37a3cb358e084d7ab5da832965a076e1_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOjMzYzNlNDQ4ZjFhYjQ5NTU5Y2VkYTQwZTk1MTBmYzYwL3RhYmxlcmFuZ2U6MzNjM2U0NDhmMWFiNDk1NTljZWRhNDBlOTUxMGZjNjBfNy0xMy0xLTEtMA_5e24c274-ec9f-430e-9a61-bac872c713bf"
      unitRef="usd">2827000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOjMzYzNlNDQ4ZjFhYjQ5NTU5Y2VkYTQwZTk1MTBmYzYwL3RhYmxlcmFuZ2U6MzNjM2U0NDhmMWFiNDk1NTljZWRhNDBlOTUxMGZjNjBfNy0xNS0xLTEtMA_5a8702ce-5dac-4e9d-9ee6-08414fda58b7"
      unitRef="usd">2708000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:SharesIssued
      contextRef="ie683840ee3ff46c39dec7c639df36b78_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOjMzYzNlNDQ4ZjFhYjQ5NTU5Y2VkYTQwZTk1MTBmYzYwL3RhYmxlcmFuZ2U6MzNjM2U0NDhmMWFiNDk1NTljZWRhNDBlOTUxMGZjNjBfOS0xLTEtMS0w_5e29625e-be7d-4a96-a036-38bb577ef878"
      unitRef="shares">48148000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="ie683840ee3ff46c39dec7c639df36b78_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOjMzYzNlNDQ4ZjFhYjQ5NTU5Y2VkYTQwZTk1MTBmYzYwL3RhYmxlcmFuZ2U6MzNjM2U0NDhmMWFiNDk1NTljZWRhNDBlOTUxMGZjNjBfOS0zLTEtMS0w_6c65e9de-1c6a-4e57-baa9-9f9090fc195e"
      unitRef="usd">481000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5d20ea766aa3461fa2cc7cbbc5726977_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOjMzYzNlNDQ4ZjFhYjQ5NTU5Y2VkYTQwZTk1MTBmYzYwL3RhYmxlcmFuZ2U6MzNjM2U0NDhmMWFiNDk1NTljZWRhNDBlOTUxMGZjNjBfOS01LTEtMS0w_11cd5b38-9c6f-4534-bc76-96e20a7463aa"
      unitRef="usd">843998000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i6ed23b553ddb4f5e9c53f07abce58af3_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOjMzYzNlNDQ4ZjFhYjQ5NTU5Y2VkYTQwZTk1MTBmYzYwL3RhYmxlcmFuZ2U6MzNjM2U0NDhmMWFiNDk1NTljZWRhNDBlOTUxMGZjNjBfOS03LTEtMS0w_7d408c1a-e0ff-41c5-8c97-006f4922fb1f"
      unitRef="usd">-46000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i663aec84143948628d7e6c0e531780d8_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOjMzYzNlNDQ4ZjFhYjQ5NTU5Y2VkYTQwZTk1MTBmYzYwL3RhYmxlcmFuZ2U6MzNjM2U0NDhmMWFiNDk1NTljZWRhNDBlOTUxMGZjNjBfOS05LTEtMS0w_cdfef5cf-b09f-45fd-a028-b3919739beb9"
      unitRef="usd">1018778000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="i1af065f8985c4e12b6236a1b86f1c4a1_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOjMzYzNlNDQ4ZjFhYjQ5NTU5Y2VkYTQwZTk1MTBmYzYwL3RhYmxlcmFuZ2U6MzNjM2U0NDhmMWFiNDk1NTljZWRhNDBlOTUxMGZjNjBfOS0xMS0xLTEtMA_ff6b0ca1-b8b5-42ba-bf78-40983df0ecab"
      unitRef="shares">7917000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i1af065f8985c4e12b6236a1b86f1c4a1_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOjMzYzNlNDQ4ZjFhYjQ5NTU5Y2VkYTQwZTk1MTBmYzYwL3RhYmxlcmFuZ2U6MzNjM2U0NDhmMWFiNDk1NTljZWRhNDBlOTUxMGZjNjBfOS0xMy0xLTEtMA_4b4488c7-5d37-44e8-83a2-61e1b1634663"
      unitRef="usd">-33883000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ic2efe4110eeb498d9a9216a6090cf6cb_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yMi9mcmFnOmQ3MTEzMTNlNjJjMzQ0Nzc4ODE3OTJhOGU1NzEwMjM2L3RhYmxlOjMzYzNlNDQ4ZjFhYjQ5NTU5Y2VkYTQwZTk1MTBmYzYwL3RhYmxlcmFuZ2U6MzNjM2U0NDhmMWFiNDk1NTljZWRhNDBlOTUxMGZjNjBfOS0xNS0xLTEtMA_83fc897d-1065-45b1-b55f-8841a3c89847"
      unitRef="usd">1829328000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="i5f057169ad6d49759443b142a6656269_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfMi0xLTEtMS0w_0ae2c77c-1da4-480b-a01a-9881b51a3479"
      unitRef="shares">48148000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i5f057169ad6d49759443b142a6656269_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfMi0zLTEtMS0w_1ede8e58-96f9-4c6b-a38c-de0d6c451195"
      unitRef="usd">481000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i6db6fd5148c3433a9d0e064232931774_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfMi01LTEtMS0w_faf56808-ca76-47f1-a4a2-3e7d3784b57b"
      unitRef="usd">905332000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i49088e654bb74f2095786b29e1a27fbb_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfMi03LTEtMS0w_7fe4d935-c22d-4fe1-b2ad-bc6849465b53"
      unitRef="usd">-46000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i79d925d106e547f7add32f73759d1f95_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfMi05LTEtMS0w_75e17947-bac8-4a52-a729-b93bd5b8365e"
      unitRef="usd">1112156000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="i648023b28b5a432aae4e2af25658d3b8_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfMi0xMS0xLTEtMA_f96c1054-d53e-440a-9fd2-e78eb7707bd4"
      unitRef="shares">7609000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i648023b28b5a432aae4e2af25658d3b8_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfMi0xMy0xLTEtMA_d252a2d2-727e-43d3-85ca-4168c5f817af"
      unitRef="usd">-31812000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfMi0xNS0xLTEtMA_15351fc8-2754-4ae5-9918-10bdb765b746"
      unitRef="usd">1986111000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="ib4d1cab5aa1c497aae0eb8db73e7077d_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfNC05LTEtMS0w_9c639142-c6b7-40cc-937b-efeb512cd8ff"
      unitRef="usd">62506000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfNC0xNS0xLTEtMA_2c398f68-e1ae-4317-ad0d-1711ac8ef446"
      unitRef="usd">62506000</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i6e29cfeff8c24ee6a72e6e39684b38ee_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfNS01LTEtMS0w_c9895310-9080-4ba5-ba85-584dc4f9bae1"
      unitRef="usd">-1623000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="ic5e5ee417bd04878a53bc6cb47c8269f_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfNS0xMS0xLTEtMA_61230dda-173b-4255-a542-e368b8c546c0"
      unitRef="shares">346000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="ic5e5ee417bd04878a53bc6cb47c8269f_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfNS0xMy0xLTEtMA_9b60824d-728b-45b2-9217-d9f290c821df"
      unitRef="usd">31011000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfNS0xNS0xLTEtMA_fd35f774-dcca-4d4e-8daa-846577c18ecf"
      unitRef="usd">29388000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="ic5e5ee417bd04878a53bc6cb47c8269f_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfNi0xMS0xLTEtMA_479394b2-5f80-4cdf-8074-6ca337cabb73"
      unitRef="shares">37000</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="ic5e5ee417bd04878a53bc6cb47c8269f_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfNi0xMy0xLTEtMA_811c8d28-7ce3-459f-9ddb-f981a1d221f2"
      unitRef="usd">16010000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfNi0xNS0xLTEtMA_91bbcfb9-2586-46ea-9d4b-d0979684548b"
      unitRef="usd">16010000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i6e29cfeff8c24ee6a72e6e39684b38ee_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfNy01LTEtMS0w_657d60cc-3b87-4ff5-b53c-b709fb41a8e1"
      unitRef="usd">50899000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfNy0xNS0xLTEtMA_5b0a0f05-2b4e-4752-8589-4164e40e28fa"
      unitRef="usd">50899000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i6e29cfeff8c24ee6a72e6e39684b38ee_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfOC01LTEtMS0w_e91af409-be68-4698-9306-3a43e692e1d2"
      unitRef="usd">6077000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="ic5e5ee417bd04878a53bc6cb47c8269f_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfOC0xMS0xLTEtMA_aa4c7853-af63-4868-a727-69e8a448b5c7"
      unitRef="shares">17000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="ic5e5ee417bd04878a53bc6cb47c8269f_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfOC0xMy0xLTEtMA_3376fb9f-9c74-401f-a0f4-574c2b8cbc47"
      unitRef="usd">123000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfOC0xNS0xLTEtMA_795442ea-856b-4141-91b0-16ab8e766088"
      unitRef="usd">6200000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="ic5e5ee417bd04878a53bc6cb47c8269f_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfOS0xMS0xLTEtMA_898f5bbe-2231-4279-8e26-6fb03087c40a"
      unitRef="shares">32000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="ic5e5ee417bd04878a53bc6cb47c8269f_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfOS0xMy0xLTEtMA_4d0c12d9-2499-4191-87d1-bd63d4d47746"
      unitRef="usd">12975000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfOS0xNS0xLTEtMA_5655afe0-2a79-4c39-b0d9-a8d439dd4311"
      unitRef="usd">12975000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="i6e29cfeff8c24ee6a72e6e39684b38ee_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfMTAtNS0xLTEtMjY1OA_958c779e-4154-445c-89e7-cf3fd90cdc34"
      unitRef="usd">1872000</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfMTAtMTUtMS0xLTI2NTg_a76f4200-69dd-4f86-b073-86f2508dc543"
      unitRef="usd">1872000</us-gaap:StockIssuedDuringPeriodValueConversionOfConvertibleSecurities>
    <us-gaap:SharesIssued
      contextRef="i66e0195c5caa41a7b7c2e623c5b09b58_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfMTAtMS0xLTEtNTgz_31b8ef08-9365-4eed-a9ad-42346b22c221"
      unitRef="shares">48148000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i66e0195c5caa41a7b7c2e623c5b09b58_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfMTAtMy0xLTEtNTgz_1581c22d-9827-442d-acab-ea34ff853526"
      unitRef="usd">481000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i661b9bdcfd014b48a882d126a1164b66_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfMTAtNS0xLTEtNTgz_d8f0cfc7-3f2a-44f8-ac8b-f095aa06f609"
      unitRef="usd">962557000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i6e81259e366f4a74b4dd1a7ba2796ad1_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfMTAtNy0xLTEtNTgz_8c298ddd-c790-424d-81be-96e7412d1c95"
      unitRef="usd">-46000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i2da290b8c00e4fe6a59399efae8b2833_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfMTAtOS0xLTEtNTgz_e1b0ea74-ba77-4040-b1de-23faf8589e67"
      unitRef="usd">1174662000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="icadba8032e064a2e9d1f340c8b3309fc_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfMTAtMTEtMS0xLTU4Mw_eca874d7-1194-4ee7-a2a9-0db288b252f5"
      unitRef="shares">7315000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="icadba8032e064a2e9d1f340c8b3309fc_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfMTAtMTMtMS0xLTU4Mw_dc4db7e3-08eb-4617-b447-ab8a41b0cd58"
      unitRef="usd">-29663000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOmRlZmQwMjUwNWE3NjRjNjJiYjhjZTZkYmVkOGM0YTc1L3RhYmxlcmFuZ2U6ZGVmZDAyNTA1YTc2NGM2MmJiOGNlNmRiZWQ4YzRhNzVfMTAtMTUtMS0xLTU4Mw_37900e41-e0dc-4673-8558-f9e358ed50fd"
      unitRef="usd">2107991000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="i2185e3b513294c55a2924b0ec3e7461c_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfMi0xLTEtMS0w_5c1b588f-c908-4bdd-928f-64109f9a0130"
      unitRef="shares">48148000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i2185e3b513294c55a2924b0ec3e7461c_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfMi0zLTEtMS0w_616a2a1e-7809-41ff-aee2-afdb6d76269f"
      unitRef="usd">481000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i6dc0202f24bd4ba08d7e2dda49c13fa3_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfMi01LTEtMS0w_518fdd6e-d49b-4e3d-b310-3a0b85334863"
      unitRef="usd">739478000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i94bbfa5b88844e48bf6a5be2f686030c_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfMi03LTEtMS0w_8e52cb12-5177-4a54-a9b7-b3cdc8c9216e"
      unitRef="usd">-46000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="iedf83f8f36944e7cb27e484f9168e264_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfMi05LTEtMS0w_f74f977b-d0cb-4f68-be9e-531d812d3545"
      unitRef="usd">917336000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="ie5213e8f275e44f3ab21d62969087129_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfMi0xMS0xLTEtMA_eb17b0b7-c020-4c16-93d0-fc3b56caf305"
      unitRef="shares">8839000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="ie5213e8f275e44f3ab21d62969087129_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfMi0xMy0xLTEtMA_e84aa376-0cf2-444b-a5c2-8e1e9f5e199d"
      unitRef="usd">-40191000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i1d7b9ba78e7346d3893203ed75b4959f_I20191231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfMi0xNS0xLTEtMA_0162f659-b1e6-4c0c-8687-0f6f0f8c0068"
      unitRef="usd">1617058000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="i78bf5988ae204cb8a635c5c9960f9a20_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfNC05LTEtMS0w_e0c87166-4e70-4588-9440-39069a63c59f"
      unitRef="usd">101442000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfNC0xNS0xLTEtMA_671ab6a1-15ab-4728-8bff-ebdaeeb0b98a"
      unitRef="usd">101442000</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i8d418ede635f4c3fb6685bcf7bf42f0b_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfNS01LTEtMS0w_8a77e205-b5b5-443b-a123-72a69acec7cd"
      unitRef="usd">66584000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="i71d626ae37204407948c647b281deb05_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfNS0xMS0xLTEtMA_d5a54077-ae40-44fa-b591-37bc04a8ce02"
      unitRef="shares">980000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i71d626ae37204407948c647b281deb05_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfNS0xMy0xLTEtMA_a29e0196-7433-41b4-9a71-2f27b3aafb1d"
      unitRef="usd">25753000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfNS0xNS0xLTEtMA_19455c46-3d32-4c74-9bd2-c489ababe4eb"
      unitRef="usd">92337000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="i71d626ae37204407948c647b281deb05_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfNi0xMS0xLTEtMA_753f8eed-1253-4869-af95-f8c6eccd3d83"
      unitRef="shares">19000</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="i71d626ae37204407948c647b281deb05_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfNi0xMy0xLTEtMA_70b79608-c085-436b-909c-9e9b88e3512e"
      unitRef="usd">6892000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfNi0xNS0xLTEtMA_3eb45d0f-e960-4385-89e7-4739ea826f54"
      unitRef="usd">6892000</us-gaap:AdjustmentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="i8d418ede635f4c3fb6685bcf7bf42f0b_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfNy01LTEtMS0w_f5c52ee5-ee48-4d57-85bb-160e862928af"
      unitRef="usd">35688000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfNy0xNS0xLTEtMA_421c0bc3-e945-4bb9-8d32-ea263af218f2"
      unitRef="usd">35688000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i8d418ede635f4c3fb6685bcf7bf42f0b_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfOC01LTEtMS0w_35c13b72-373d-402b-97e1-35994d02d00b"
      unitRef="usd">2248000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="i71d626ae37204407948c647b281deb05_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfOC0xMS0xLTEtMA_cb362fd1-a4a7-4de9-a522-0deafe30514e"
      unitRef="shares">20000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i71d626ae37204407948c647b281deb05_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfOC0xMy0xLTEtMA_1b50682f-290c-4ac6-9e2f-026128a47e21"
      unitRef="usd">2929000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfOC0xNS0xLTEtMA_e049ca03-6453-4510-b97b-e55911469fdd"
      unitRef="usd">5177000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="i71d626ae37204407948c647b281deb05_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfOS0xMS0xLTEtMA_2c0ea46e-3560-467c-bf73-58b5d1179621"
      unitRef="shares">59000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i71d626ae37204407948c647b281deb05_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfOS0xMy0xLTEtMA_fe2be91e-e3b5-4933-a119-19a75559a64d"
      unitRef="usd">15482000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfOS0xNS0xLTEtMA_dfd7dc8b-6362-4fa0-b18d-6a80f0a24b24"
      unitRef="usd">15482000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:SharesIssued
      contextRef="ie683840ee3ff46c39dec7c639df36b78_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfMTAtMS0xLTEtNTg1_918de10b-e988-41ba-b672-c27d431cca9b"
      unitRef="shares">48148000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="ie683840ee3ff46c39dec7c639df36b78_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfMTAtMy0xLTEtNTg1_2ea52a65-6335-4ae5-9485-a245b7e37b18"
      unitRef="usd">481000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i5d20ea766aa3461fa2cc7cbbc5726977_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfMTAtNS0xLTEtNTg1_9b8a60f0-82f4-40c6-96b3-a2287a26faff"
      unitRef="usd">843998000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i6ed23b553ddb4f5e9c53f07abce58af3_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfMTAtNy0xLTEtNTg1_f76c6941-2b6d-42d1-a337-541ac94bfbf4"
      unitRef="usd">-46000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="i663aec84143948628d7e6c0e531780d8_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfMTAtOS0xLTEtNTg1_131490ed-9e88-42f8-80e7-9665f10854da"
      unitRef="usd">1018778000</us-gaap:StockholdersEquity>
    <us-gaap:SharesIssued
      contextRef="i1af065f8985c4e12b6236a1b86f1c4a1_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfMTAtMTEtMS0xLTU4NQ_6eebac36-b8ad-4434-aef7-267b253dd991"
      unitRef="shares">7917000</us-gaap:SharesIssued>
    <us-gaap:StockholdersEquity
      contextRef="i1af065f8985c4e12b6236a1b86f1c4a1_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfMTAtMTMtMS0xLTU4NQ_e830c68c-27d8-46da-b2af-c11149d52a51"
      unitRef="usd">-33883000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="ic2efe4110eeb498d9a9216a6090cf6cb_I20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8yNS9mcmFnOjM4YjQzN2U5YzkxNzQ4MGNiOTg0OWU3NWE2ZmQ0NDA5L3RhYmxlOjI5MzlhZTNkZGIzMjRjOTY5ZmYxY2M5YWExMjgzZTY3L3RhYmxlcmFuZ2U6MjkzOWFlM2RkYjMyNGM5NjlmZjFjYzlhYTEyODNlNjdfMTAtMTUtMS0xLTU4NQ_0b88a24e-08ce-4af4-a033-c32fe4c04038"
      unitRef="usd">1829328000</us-gaap:StockholdersEquity>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zMS9mcmFnOjg2ZGY1ZGQxZDMwMzQzMzZhYWYyYTUzNjJiYjlhMjFkL3RleHRyZWdpb246ODZkZjVkZDFkMzAzNDMzNmFhZjJhNTM2MmJiOWEyMWRfMTU2Mw_045f496b-3bb5-47de-9409-d8f935d1de8e">Basis of Presentation&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We prepared the accompanying condensed consolidated financial statements following the requirements of the Securities and Exchange Commission (&#x201c;SEC&#x201d;) and accounting principles generally accepted in the United States, or GAAP, for interim reporting. As permitted under those rules, certain footnotes or other financial information that are normally required by GAAP can be condensed or omitted for interim periods. Balance sheet amounts are as of June&#160;30, 2021, and December&#160;31, 2020, and operating result amounts are for the three and six months ended June&#160;30, 2021, and 2020, respectively, and include all normal and recurring adjustments that we considered necessary for the fair summarized presentation of our financial position and operating results. As these are condensed financial statements, one should also read the financial statements and notes included in our latest Form 10-K for the year ended December&#160;31, 2020. Revenues, expenses, assets and liabilities can vary during each quarter of the year. Therefore, the results and trends in these interim financial statements may not be the same as those for the full year. Certain amounts for the previous year have been reclassified to conform to the current year presentation.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Comprehensive income (loss) is defined as the change in equity of a business enterprise during a period from transactions, and other events and circumstances from non-owner sources and includes all components of net income (loss) and other comprehensive income (loss). We had no items of other comprehensive income (loss) for the three and six months ended June&#160;30, 2021, and 2020&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On April 21, 2021, the Company acquired NIC, Inc. (&#x201c;NIC&#x201d;) as contemplated by the Agreement and Plan of Merger dated February 9, 2021. The results of NIC are include in condensed consolidated financial statements since the date of acquisition. See Note 3, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Acquisitions&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; for further information.&lt;/span&gt;&lt;/div&gt;</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <us-gaap:SignificantAccountingPoliciesTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNC9mcmFnOjBhNzM5ZGE5OGFjYzRiOWI5NjY5NWM4NjZmMDQyZjNhL3RleHRyZWdpb246MGE3MzlkYTk4YWNjNGI5Yjk2Njk1Yzg2NmYwNDJmM2FfMTg3OTc_e1c367a7-9464-4505-83d2-f3fbb2bbf58d">Accounting Standards and Significant Accounting Policies&lt;div style="margin-bottom:9pt;margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;SUMMARY OF SIGNIFICANT ACCOUNTING POLICIES&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Except for the January 1, 2021, adoption of ASU No. 2020-06, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Debt-Debt with Conversion and Other Options (Subtopic 470-20) and Derivatives and Hedging-Contracts in Entity&#x2019;s Own Equity (Subtopic 815-40): Accounting for Convertible Instruments and Contracts in an Entity&#x2019;s Own Equity &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;(&#x201c;ASU 2020-06&#x201d;), there have been no changes to our significant accounting policies described in the Annual Report on Form 10-K for the year ended December&#160;31, 2020, filed with the SEC on February 19, 2021, that have had a material impact on our condensed consolidated financial statements and related notes. See recently adopted accounting pronouncements below.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Impacts of the COVID-19 Pandemic&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The pandemic continues to delay some government procurement processes and is expected to impact our ability to complete certain implementations, negatively impacting our revenue. Because an increasing portion of our revenues are recurring, the effect of COVID-19 on our results of operations may also not be fully reflected for some time. It could also negatively impact the timing of client payments to us.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:12pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We continue to monitor these trends in order to respond to the ever-changing impact of COVID-19 on our clients and Tyler&#x2019;s operations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the six months ended June 30, 2021, excluding the impact of recent acquisitions, the impact of the COVID-19 pandemic resulted in lower revenues from software licenses and software services. Lower software licenses compared to prior periods are in part attributed to slower sales cycles as government procurement processes are delayed and contract signings have been pushed to future periods. The software services revenue decline is attributed to delays in implementations caused by travel restrictions in effect during the period. Lower revenues compared to prior periods were partially offset by cost savings attributed to lower spend on travel, user conferences and trade show expenses, health claims and other employee-related expenses. As travel restrictions are relaxed, we expect software services and appraisal services revenues to increase as the limited number of our clients who require that all or a portion of their services be delivered onsite will be able to receive those services. Also, we are adapting the way we do business by encouraging web and video conferencing, conducting virtual sales demonstrations and delivering professional services remotely, which result in increases in staff utilization rates and billable time.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Recurring revenues from subscriptions and maintenance comprised 77% of our total consolidated revenue for the six months ended June 30, 2021, and include transaction-based revenue streams such as e-filing and online payments. On March 9, 2021, we issued 0.25% Convertible Senior Notes due 2026 (the &#x201c;Convertible Senior Notes&#x201d;) in the aggregate principal amount of $600 million.  As of June&#160;30, 2021, we had $347.1 million in cash and investments and $965&#160;million principal outstanding borrowings under our 2021 Credit Agreement executed on April 21, 2021.  As of June&#160;30, 2021, we had available borrowing capacity of $435&#160;million under our 2021 Credit Agreement.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have recorded no impairment to goodwill or other assets as of the balance sheet date. Due to significant uncertainty surrounding the pandemic and market conditions, management&#x2019;s judgment regarding this could change in the future.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;USE OF ESTIMATES&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preparation of our financial statements in conformity with GAAP requires us to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Significant items subject to such estimates and assumptions include revenue recognition, determining the nature and timing of satisfaction of performance obligations, determining the standalone selling price (&#x201c;SSP&#x201d;) of performance obligations, variable consideration, and other obligations such as returns and refunds; loss contingencies; the estimated useful life of deferred commissions; the carrying amount of goodwill; the carrying amount and estimated useful lives of intangible assets; the carrying amount of operating lease right-of-use assets and operating lease liabilities; determining share-based compensation expense; the valuation allowance for receivables; and determining the potential outcome of future tax consequences of events that have been recognized on our consolidated financial statements or tax returns. Actual results could differ from estimates.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;REVENUE RECOGNITION&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Nature of Products and Services:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We earn revenue from software licenses, royalties, subscription-based services, software services, post-contract customer support (&#x201c;PCS&#x201d; or &#x201c;maintenance&#x201d;), hardware, and appraisal services. Revenue is recognized upon transfer of control of promised products or services to customers in an amount that reflects the consideration we expect to receive in exchange for those products or services. We determine revenue recognition through the following steps:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Identification of the contract, or contracts with a customer&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Identification of the performance obligations in the contract &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Determination of the transaction price&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Allocation of the transaction price to the performance obligations in the contract&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Recognition of revenue when, or as, we satisfy a performance obligation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Most of our software arrangements with customers contain multiple performance obligations that range from software licenses, installation, training, and consulting to software modification and customization to meet specific customer needs (services), hosting, and PCS. For these contracts, we account for individual performance obligations separately when they are distinct. We evaluate whether separate performance obligations can be distinct or should be accounted for as one performance obligation. Arrangements that include software services, such as training or installation, are evaluated to determine whether the customer can benefit from the services either on their own or together with other resources readily available to the customer and whether the services are separately identifiable from other promises in the contract. The transaction price is allocated to the distinct performance obligations on a relative SSP basis. We determine the SSP based on our overall pricing objectives, taking into consideration market conditions and other factors, including the value of our contracts, the applications sold, customer demographics, and the number and types of users within our contracts. Revenue is recognized net of allowances for sales adjustments and any taxes collected from customers, which are subsequently remitted to governmental authorities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Significant Judgments:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our contracts with customers often include multiple performance obligations to a customer. When a software arrangement (license or subscription) includes both software licenses and software services, judgment is required to determine whether the software license is considered distinct and accounted for separately, or not distinct and accounted for together with the software services and recognized over time. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The transaction price is allocated to the separate performance obligations on a relative SSP basis. We determine the SSP based on our overall pricing objectives, taking into consideration market conditions and other factors, including the value of our contracts, the applications sold, customer demographics, and the number and types of users within our contracts.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We use a range of amounts to estimate SSP when we sell each of the products and services separately and need to determine whether there is a discount to be allocated based on the relative SSP of the various products and services. In instances where SSP is not directly observable, such as when we do not sell the product or service separately, we determine SSP using the expected cost-plus margin approach.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For arrangements that involve significant production, modification or customization of the software, or where software services otherwise cannot be considered distinct, we recognize revenue as control is transferred to the customer over time using progress-to-completion methods. Depending on the contract, we measure progress-to-completion primarily using labor hours incurred, or value added. The progress-to-completion method generally results in the recognition of reasonably consistent profit margins over the life of a contract because we can provide reasonably dependable estimates of contract billings and contract costs. We use the level of profit margin that is most likely to occur on a contract. If the most likely profit margin cannot be precisely determined, the lowest probable level of profit margin in the range of estimates is used until the results can be estimated more precisely. These arrangements are often implemented over an extended time period and occasionally require us to revise total cost estimates. Amounts recognized in revenue are calculated using the progress-to-completion measurement after giving effect to any changes in our cost estimates. Changes to total estimated contract costs, if any, are recorded in the period they are determined. Estimated losses on uncompleted contracts are recorded in the period in which we first determine that a loss is apparent.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For e-filing transaction fees and other transaction-based revenues, we have the right to charge the customer an amount that directly corresponds with the value to the customer of our performance to date. Therefore, we recognize revenue for these services over time based on the amount billable to the customer in accordance with the 'as invoiced' practical expedient in ASC 606-10-55-18. In some cases, we are paid on a fixed fee basis and recognize the revenue ratably over the contractual period. Typically, the structure of our arrangements does not give rise to variable consideration. However, in those instances whereby variable consideration exists, we include in our estimates, additional revenue for variable consideration when we believe we have an enforceable right, the amount can be estimated reliably and its realization is probable. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Refer to Note 13 - &#x201c;Disaggregation of Revenue&#x201d; for further information, including the economic factors that affect the nature, amount, timing, and uncertainty of revenue and cash flows of our various revenue categories.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Contract Balances:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Accounts receivable and allowance for losses and sales adjustments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Timing of revenue recognition may differ from the timing of invoicing to customers. We record an unbilled receivable when revenue is recognized prior to invoicing, or deferred revenue when revenue is recognized subsequent to invoicing. For multi-year agreements, we generally invoice customers annually at the beginning of each annual coverage period. We record an unbilled receivable related to revenue recognized for on-premises licenses as we have an unconditional right to invoice and receive payment in the future related to those licenses.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At June&#160;30, 2021, and December&#160;31, 2020, total current and long-term accounts receivable, net of allowance for losses and sales adjustments, was $599.9 million and $403.7 million, respectively. We have recorded unbilled receivables of $156.0 million and $140.8 million at June&#160;30, 2021, and December&#160;31, 2020, respectively. Included in unbilled receivables are retention receivables of $11.0 million and $13.1 million at June&#160;30, 2021, and December&#160;31, 2020, respectively, which become payable upon the completion of the contract or completion of our fieldwork and formal hearings. Unbilled receivables expected to be collected within one year have been included with accounts receivable, current portion in the accompanying condensed consolidated balance sheets. Unbilled receivables and retention receivables expected to be collected past one year have been included with accounts receivable, long-term portion in the accompanying condensed consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;We maintain allowances for losses and sales adjustments, which losses are recorded against revenue at the time the loss is incurred. Since most of our clients are domestic governmental entities, we rarely incur a credit loss resulting from the inability of a client to make required payments. Events or changes in circumstances that indicate the carrying amount for the allowances for losses and sales adjustments may require revision, include, but are not limited to, managing our client&#x2019;s expectations regarding the scope of the services to be delivered and defects or errors in new versions or enhancements of our software products. Our allowance for losses and sales adjustments of $8.1&#160;million and $9.3&#160;million at June&#160;30, 2021, and December&#160;31, 2020, respectively, does not include provisions for credit losses. As of January 1, 2020, we adopted ASU 2016-13,&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%"&gt; Financial Instruments - Credit Losses&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%"&gt;, and primarily evaluated our historical experience with credit losses related to trade and other receivables. Because we have not experienced any historical credit losses with the majority of our clients, we have no basis to record a reserve for credit losses as defined by the standard.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;GOODWILL AND OTHER INTANGIBLE ASSETS&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Goodwill&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We assess goodwill for impairment annually, or more frequently whenever events or changes in circumstances indicate its carrying value may not be recoverable. We begin with the qualitative assessment of whether it is more likely than not that a reporting unit's fair value is less than its carrying value before applying the quantitative assessment described below. If it is determined through the evaluation of events or circumstances that the carrying value may not be recoverable, we perform a comparison of the estimated fair value of the reporting unit to which the goodwill has been assigned to the sum of the carrying value of the assets and liabilities of that unit. If the sum of the carrying value of the assets and liabilities of a reporting unit exceeds the estimated fair value of that reporting unit, the carrying value of the reporting unit's goodwill is reduced to its fair value through an adjustment to the goodwill balance, resulting in an impairment charge. The fair values calculated in our impairment tests are determined using discounted cash flow models involving several assumptions. The assumptions that are used are based upon what we believe a hypothetical marketplace participant would use in estimating fair value. We evaluate the reasonableness of the fair value calculations of our reporting units by comparing the total of the fair value of all of our reporting units to our total market capitalization. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have historically evaluated goodwill for impairment annually as of April 1, or more frequently if impairment indicators arose.  During the second quarter 2021, we voluntarily changed the date of our annual assessment of goodwill to October 1 for all reporting units. The change in testing date for goodwill impairment is a change in accounting principle, which management believes is preferable as the new date of the assessment better aligns with our annual planning process. The change in the assessment date does not delay or avoid a potential impairment charge. &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;This change in the date for the annual impairment assessment for goodwill noted no change in our requirements to assess goodwill on an interim date between scheduled annual testing dates if triggering events are present. &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;To ensure that no lapse in an assessment occurring since the prior period, we performed qualitative assessments for all reporting units except for the data and insights and platform technologies reporting units. As a result of these qualitative assessments, we determined that it was more likely than not that an impairment existed; therefore, we did not perform Step 1 quantitative impairment test. We did perform a quantitative assessment for goodwill of $75.7 million and $78.4 million associated with our data and insights reporting unit and platform technologies unit, respectively.  For most of our reporting units, goodwill relates to a combination of legacy and acquired businesses, and as a result, those units have fair values that substantially exceed their underlying carrying values. For other reporting units, in particular our data and insights and platform technologies units, goodwill entirely relates to recently acquired businesses and as a result those units do not have significant excess fair values over carrying values. As a result of our interim qualitative and quantitative assessments, we concluded no impairment existed as of June&#160;30, 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Determining the fair value of our reporting units involves the use of significant estimates and assumptions and considerable management judgment. We base our fair value estimates on assumptions we believe to be reasonable at the time, but such assumptions are subject to inherent uncertainty. Changes in market conditions or other factors outside of our control, such as the COVID-19 pandemic, could cause us to change key assumptions and our judgment about a reporting unit&#x2019;s prospects. Similarly, in a specific period, a reporting unit could significantly underperform relative to its historical or projected future operating results. Either situation could result in a meaningfully different estimate of the fair value of our reporting units and a consequent future impairment charge. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;RECENTLY ADOPTED ACCOUNTING PRONOUNCEMENTS&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In August 2020, the FASB issued ASU 2020-06, which simplifies the accounting for convertible instruments by removing the separation models for (1) convertible debt with a cash conversion feature and (2) convertible instruments with a beneficial conversion feature. As a result, a convertible debt instrument will be accounted for as a single liability measured at its amortized cost. These changes will reduce reported interest expense and increase reported net income for entities that have issued a convertible instrument that was bifurcated according to previously existing rules. ASU 2020-06 also requires the application of the if-converted method for calculating diluted earnings per share and the treasury stock method will be no longer available. This standard will be effective for the Company&#x2019;s fiscal years beginning in the first quarter of 2022, with early adoption permitted. The Company has elected to early adopt this standard as of January 1, 2021. Our accounting and disclosures related to our convertible senior notes issued on March 9, 2021, reflect the requirements of this standard. For further information, please refer to Note 7, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Debt&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;.&lt;/span&gt;&lt;/div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2019, the FASB issued ASU 2019-12,&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt; Simplifying the Accounting for Income Taxes&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, (&#x201c;ASU 2019-12&#x201d;) which simplifies the accounting for income taxes, eliminates certain exceptions within ASC 740, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Income Taxes&lt;/span&gt;, and clarifies certain aspects of the current guidance to promote consistency among reporting entities. The new standard is effective for fiscal years beginning after December 15, 2020. We adopted ASU 2019-12 as of January 1, 2021. The adoption of this standard did not have a material impact on our consolidated financial statements.</us-gaap:SignificantAccountingPoliciesTextBlock>
    <tyl:RecurringRevenuePercentageOfTotalRevenue
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNC9mcmFnOjBhNzM5ZGE5OGFjYzRiOWI5NjY5NWM4NjZmMDQyZjNhL3RleHRyZWdpb246MGE3MzlkYTk4YWNjNGI5Yjk2Njk1Yzg2NmYwNDJmM2FfMjU0Ng_f99f4522-73d4-4a09-af58-9d5bc1a4794e"
      unitRef="number">0.77</tyl:RecurringRevenuePercentageOfTotalRevenue>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i763dc8b6264846c6923fef6a3ded73ec_I20210309"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNC9mcmFnOjBhNzM5ZGE5OGFjYzRiOWI5NjY5NWM4NjZmMDQyZjNhL3RleHRyZWdpb246MGE3MzlkYTk4YWNjNGI5Yjk2Njk1Yzg2NmYwNDJmM2FfMjcwNw_dc49f1e3-11a3-4ba5-be7f-1aa2642d17f0"
      unitRef="number">0.0025</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i763dc8b6264846c6923fef6a3ded73ec_I20210309"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNC9mcmFnOjBhNzM5ZGE5OGFjYzRiOWI5NjY5NWM4NjZmMDQyZjNhL3RleHRyZWdpb246MGE3MzlkYTk4YWNjNGI5Yjk2Njk1Yzg2NmYwNDJmM2FfMjgxNA_ca4d3b2a-277d-422a-8a74-c8e1252b2a55"
      unitRef="usd">600000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:CashCashEquivalentsAndShortTermInvestments
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNC9mcmFnOjBhNzM5ZGE5OGFjYzRiOWI5NjY5NWM4NjZmMDQyZjNhL3RleHRyZWdpb246MGE3MzlkYTk4YWNjNGI5Yjk2Njk1Yzg2NmYwNDJmM2FfMzAyNw_9326703c-ea40-447a-b1cd-f56cb19af72e"
      unitRef="usd">347100000</us-gaap:CashCashEquivalentsAndShortTermInvestments>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i2fe04e6ea42a444c911dc112ecddabbc_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNC9mcmFnOjBhNzM5ZGE5OGFjYzRiOWI5NjY5NWM4NjZmMDQyZjNhL3RleHRyZWdpb246MGE3MzlkYTk4YWNjNGI5Yjk2Njk1Yzg2NmYwNDJmM2FfNDM5ODA0NjU0MDM5Mw_5102e1cd-f65d-4e34-aabe-3ec0a4727e6d"
      unitRef="usd">965000000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="ie8ac86df79e742a7bf2f56ffcc07df0f_I20210630"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNC9mcmFnOjBhNzM5ZGE5OGFjYzRiOWI5NjY5NWM4NjZmMDQyZjNhL3RleHRyZWdpb246MGE3MzlkYTk4YWNjNGI5Yjk2Njk1Yzg2NmYwNDJmM2FfNDM5ODA0NjU0MTAxMA_b9ce91a3-03b0-43cc-8d55-5cdee2cfab1f"
      unitRef="usd">435000000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:UseOfEstimates
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNC9mcmFnOjBhNzM5ZGE5OGFjYzRiOWI5NjY5NWM4NjZmMDQyZjNhL3RleHRyZWdpb246MGE3MzlkYTk4YWNjNGI5Yjk2Njk1Yzg2NmYwNDJmM2FfMTg4MTI_75357686-1c98-4f15-8a14-87980992b96d">&lt;div style="margin-bottom:9pt;margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;USE OF ESTIMATES&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preparation of our financial statements in conformity with GAAP requires us to make estimates and assumptions that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities at the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Significant items subject to such estimates and assumptions include revenue recognition, determining the nature and timing of satisfaction of performance obligations, determining the standalone selling price (&#x201c;SSP&#x201d;) of performance obligations, variable consideration, and other obligations such as returns and refunds; loss contingencies; the estimated useful life of deferred commissions; the carrying amount of goodwill; the carrying amount and estimated useful lives of intangible assets; the carrying amount of operating lease right-of-use assets and operating lease liabilities; determining share-based compensation expense; the valuation allowance for receivables; and determining the potential outcome of future tax consequences of events that have been recognized on our consolidated financial statements or tax returns. Actual results could differ from estimates.&lt;/span&gt;&lt;/div&gt;</us-gaap:UseOfEstimates>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNC9mcmFnOjBhNzM5ZGE5OGFjYzRiOWI5NjY5NWM4NjZmMDQyZjNhL3RleHRyZWdpb246MGE3MzlkYTk4YWNjNGI5Yjk2Njk1Yzg2NmYwNDJmM2FfMTg3OTU_953d0ab5-09d2-48c0-b453-3c0a3d79eb2c">&lt;div style="margin-bottom:9pt;margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;REVENUE RECOGNITION&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Nature of Products and Services:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We earn revenue from software licenses, royalties, subscription-based services, software services, post-contract customer support (&#x201c;PCS&#x201d; or &#x201c;maintenance&#x201d;), hardware, and appraisal services. Revenue is recognized upon transfer of control of promised products or services to customers in an amount that reflects the consideration we expect to receive in exchange for those products or services. We determine revenue recognition through the following steps:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Identification of the contract, or contracts with a customer&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Identification of the performance obligations in the contract &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Determination of the transaction price&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Allocation of the transaction price to the performance obligations in the contract&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;Recognition of revenue when, or as, we satisfy a performance obligation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Most of our software arrangements with customers contain multiple performance obligations that range from software licenses, installation, training, and consulting to software modification and customization to meet specific customer needs (services), hosting, and PCS. For these contracts, we account for individual performance obligations separately when they are distinct. We evaluate whether separate performance obligations can be distinct or should be accounted for as one performance obligation. Arrangements that include software services, such as training or installation, are evaluated to determine whether the customer can benefit from the services either on their own or together with other resources readily available to the customer and whether the services are separately identifiable from other promises in the contract. The transaction price is allocated to the distinct performance obligations on a relative SSP basis. We determine the SSP based on our overall pricing objectives, taking into consideration market conditions and other factors, including the value of our contracts, the applications sold, customer demographics, and the number and types of users within our contracts. Revenue is recognized net of allowances for sales adjustments and any taxes collected from customers, which are subsequently remitted to governmental authorities.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Significant Judgments:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our contracts with customers often include multiple performance obligations to a customer. When a software arrangement (license or subscription) includes both software licenses and software services, judgment is required to determine whether the software license is considered distinct and accounted for separately, or not distinct and accounted for together with the software services and recognized over time. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The transaction price is allocated to the separate performance obligations on a relative SSP basis. We determine the SSP based on our overall pricing objectives, taking into consideration market conditions and other factors, including the value of our contracts, the applications sold, customer demographics, and the number and types of users within our contracts.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We use a range of amounts to estimate SSP when we sell each of the products and services separately and need to determine whether there is a discount to be allocated based on the relative SSP of the various products and services. In instances where SSP is not directly observable, such as when we do not sell the product or service separately, we determine SSP using the expected cost-plus margin approach.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For arrangements that involve significant production, modification or customization of the software, or where software services otherwise cannot be considered distinct, we recognize revenue as control is transferred to the customer over time using progress-to-completion methods. Depending on the contract, we measure progress-to-completion primarily using labor hours incurred, or value added. The progress-to-completion method generally results in the recognition of reasonably consistent profit margins over the life of a contract because we can provide reasonably dependable estimates of contract billings and contract costs. We use the level of profit margin that is most likely to occur on a contract. If the most likely profit margin cannot be precisely determined, the lowest probable level of profit margin in the range of estimates is used until the results can be estimated more precisely. These arrangements are often implemented over an extended time period and occasionally require us to revise total cost estimates. Amounts recognized in revenue are calculated using the progress-to-completion measurement after giving effect to any changes in our cost estimates. Changes to total estimated contract costs, if any, are recorded in the period they are determined. Estimated losses on uncompleted contracts are recorded in the period in which we first determine that a loss is apparent.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For e-filing transaction fees and other transaction-based revenues, we have the right to charge the customer an amount that directly corresponds with the value to the customer of our performance to date. Therefore, we recognize revenue for these services over time based on the amount billable to the customer in accordance with the 'as invoiced' practical expedient in ASC 606-10-55-18. In some cases, we are paid on a fixed fee basis and recognize the revenue ratably over the contractual period. Typically, the structure of our arrangements does not give rise to variable consideration. However, in those instances whereby variable consideration exists, we include in our estimates, additional revenue for variable consideration when we believe we have an enforceable right, the amount can be estimated reliably and its realization is probable. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;text-decoration:underline"&gt;Contract Balances:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Accounts receivable and allowance for losses and sales adjustments&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Timing of revenue recognition may differ from the timing of invoicing to customers. We record an unbilled receivable when revenue is recognized prior to invoicing, or deferred revenue when revenue is recognized subsequent to invoicing. For multi-year agreements, we generally invoice customers annually at the beginning of each annual coverage period. We record an unbilled receivable related to revenue recognized for on-premises licenses as we have an unconditional right to invoice and receive payment in the future related to those licenses.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At June&#160;30, 2021, and December&#160;31, 2020, total current and long-term accounts receivable, net of allowance for losses and sales adjustments, was $599.9 million and $403.7 million, respectively. We have recorded unbilled receivables of $156.0 million and $140.8 million at June&#160;30, 2021, and December&#160;31, 2020, respectively. Included in unbilled receivables are retention receivables of $11.0 million and $13.1 million at June&#160;30, 2021, and December&#160;31, 2020, respectively, which become payable upon the completion of the contract or completion of our fieldwork and formal hearings. Unbilled receivables expected to be collected within one year have been included with accounts receivable, current portion in the accompanying condensed consolidated balance sheets. Unbilled receivables and retention receivables expected to be collected past one year have been included with accounts receivable, long-term portion in the accompanying condensed consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;We maintain allowances for losses and sales adjustments, which losses are recorded against revenue at the time the loss is incurred. Since most of our clients are domestic governmental entities, we rarely incur a credit loss resulting from the inability of a client to make required payments. Events or changes in circumstances that indicate the carrying amount for the allowances for losses and sales adjustments may require revision, include, but are not limited to, managing our client&#x2019;s expectations regarding the scope of the services to be delivered and defects or errors in new versions or enhancements of our software products. Our allowance for losses and sales adjustments of $8.1&#160;million and $9.3&#160;million at June&#160;30, 2021, and December&#160;31, 2020, respectively, does not include provisions for credit losses.</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <us-gaap:AccountsReceivableNet
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNC9mcmFnOjBhNzM5ZGE5OGFjYzRiOWI5NjY5NWM4NjZmMDQyZjNhL3RleHRyZWdpb246MGE3MzlkYTk4YWNjNGI5Yjk2Njk1Yzg2NmYwNDJmM2FfMTE2MDc_9430624a-0a0d-4f3c-834d-a2bed24f0d21"
      unitRef="usd">599900000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNC9mcmFnOjBhNzM5ZGE5OGFjYzRiOWI5NjY5NWM4NjZmMDQyZjNhL3RleHRyZWdpb246MGE3MzlkYTk4YWNjNGI5Yjk2Njk1Yzg2NmYwNDJmM2FfMTE2MTQ_518c66ce-880e-485b-a9d5-8e2bb3733c83"
      unitRef="usd">403700000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="i9c7b8bee657c4326aefc150228550403_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNC9mcmFnOjBhNzM5ZGE5OGFjYzRiOWI5NjY5NWM4NjZmMDQyZjNhL3RleHRyZWdpb246MGE3MzlkYTk4YWNjNGI5Yjk2Njk1Yzg2NmYwNDJmM2FfMTE2NzM_dc67071b-3215-4467-b740-432ac299f4fd"
      unitRef="usd">156000000.0</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="ia2c030e24c0b4cedbc59193fdc89f54c_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNC9mcmFnOjBhNzM5ZGE5OGFjYzRiOWI5NjY5NWM4NjZmMDQyZjNhL3RleHRyZWdpb246MGE3MzlkYTk4YWNjNGI5Yjk2Njk1Yzg2NmYwNDJmM2FfMTE2ODA_cfaf834b-f5bc-44b4-8f32-00ddb705e979"
      unitRef="usd">140800000</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="i16ec207841ce4d77b481a3f5b91cbba2_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNC9mcmFnOjBhNzM5ZGE5OGFjYzRiOWI5NjY5NWM4NjZmMDQyZjNhL3RleHRyZWdpb246MGE3MzlkYTk4YWNjNGI5Yjk2Njk1Yzg2NmYwNDJmM2FfMTE3NzQ_c77636b2-51bd-478e-abf6-d979783a9204"
      unitRef="usd">11000000.0</us-gaap:AccountsReceivableNet>
    <us-gaap:AccountsReceivableNet
      contextRef="i83421e97399e42769525a1fbf485e5aa_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNC9mcmFnOjBhNzM5ZGE5OGFjYzRiOWI5NjY5NWM4NjZmMDQyZjNhL3RleHRyZWdpb246MGE3MzlkYTk4YWNjNGI5Yjk2Njk1Yzg2NmYwNDJmM2FfMTE3ODE_b2d9d885-db0b-4118-ad14-820fe2775667"
      unitRef="usd">13100000</us-gaap:AccountsReceivableNet>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNC9mcmFnOjBhNzM5ZGE5OGFjYzRiOWI5NjY5NWM4NjZmMDQyZjNhL3RleHRyZWdpb246MGE3MzlkYTk4YWNjNGI5Yjk2Njk1Yzg2NmYwNDJmM2FfMTI5OTg_fc582a62-028f-4b2c-9abb-4dfd8b410298"
      unitRef="usd">8100000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:AllowanceForDoubtfulAccountsReceivable
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNC9mcmFnOjBhNzM5ZGE5OGFjYzRiOWI5NjY5NWM4NjZmMDQyZjNhL3RleHRyZWdpb246MGE3MzlkYTk4YWNjNGI5Yjk2Njk1Yzg2NmYwNDJmM2FfNDM5ODA0NjU0MTU1MQ_6e63e9dd-83a2-4c19-9982-06ccc90552d4"
      unitRef="usd">9300000</us-gaap:AllowanceForDoubtfulAccountsReceivable>
    <us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNC9mcmFnOjBhNzM5ZGE5OGFjYzRiOWI5NjY5NWM4NjZmMDQyZjNhL3RleHRyZWdpb246MGE3MzlkYTk4YWNjNGI5Yjk2Njk1Yzg2NmYwNDJmM2FfMTg4MDE_ef7b714c-28ca-466f-83fe-8908b4f3f2d8">GoodwillWe assess goodwill for impairment annually, or more frequently whenever events or changes in circumstances indicate its carrying value may not be recoverable. We begin with the qualitative assessment of whether it is more likely than not that a reporting unit's fair value is less than its carrying value before applying the quantitative assessment described below. If it is determined through the evaluation of events or circumstances that the carrying value may not be recoverable, we perform a comparison of the estimated fair value of the reporting unit to which the goodwill has been assigned to the sum of the carrying value of the assets and liabilities of that unit. If the sum of the carrying value of the assets and liabilities of a reporting unit exceeds the estimated fair value of that reporting unit, the carrying value of the reporting unit's goodwill is reduced to its fair value through an adjustment to the goodwill balance, resulting in an impairment charge. The fair values calculated in our impairment tests are determined using discounted cash flow models involving several assumptions. The assumptions that are used are based upon what we believe a hypothetical marketplace participant would use in estimating fair value. We evaluate the reasonableness of the fair value calculations of our reporting units by comparing the total of the fair value of all of our reporting units to our total market capitalization.</us-gaap:GoodwillAndIntangibleAssetsGoodwillPolicy>
    <tyl:GoodwillAssessedForImpairment
      contextRef="icd416ab90ec145778c83d44c9fe5ade4_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNC9mcmFnOjBhNzM5ZGE5OGFjYzRiOWI5NjY5NWM4NjZmMDQyZjNhL3RleHRyZWdpb246MGE3MzlkYTk4YWNjNGI5Yjk2Njk1Yzg2NmYwNDJmM2FfMTUzMzI_0d5c09df-eb1e-4746-8050-699903dbc31a"
      unitRef="usd">75700000</tyl:GoodwillAssessedForImpairment>
    <tyl:GoodwillAssessedForImpairment
      contextRef="i0cb75e6a48ae4898a011d6d87266cfd0_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNC9mcmFnOjBhNzM5ZGE5OGFjYzRiOWI5NjY5NWM4NjZmMDQyZjNhL3RleHRyZWdpb246MGE3MzlkYTk4YWNjNGI5Yjk2Njk1Yzg2NmYwNDJmM2FfNDM5ODA0NjUzNjUzOA_4693004e-bc76-4a8a-a9b1-10cb305a104a"
      unitRef="usd">78400000</tyl:GoodwillAssessedForImpairment>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNC9mcmFnOjBhNzM5ZGE5OGFjYzRiOWI5NjY5NWM4NjZmMDQyZjNhL3RleHRyZWdpb246MGE3MzlkYTk4YWNjNGI5Yjk2Njk1Yzg2NmYwNDJmM2FfMTg3OTA_5b08196d-bcdd-413f-aa88-215dfb19dd5d">&lt;div style="margin-bottom:6pt;margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;RECENTLY ADOPTED ACCOUNTING PRONOUNCEMENTS&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In August 2020, the FASB issued ASU 2020-06, which simplifies the accounting for convertible instruments by removing the separation models for (1) convertible debt with a cash conversion feature and (2) convertible instruments with a beneficial conversion feature. As a result, a convertible debt instrument will be accounted for as a single liability measured at its amortized cost. These changes will reduce reported interest expense and increase reported net income for entities that have issued a convertible instrument that was bifurcated according to previously existing rules. ASU 2020-06 also requires the application of the if-converted method for calculating diluted earnings per share and the treasury stock method will be no longer available. This standard will be effective for the Company&#x2019;s fiscal years beginning in the first quarter of 2022, with early adoption permitted. The Company has elected to early adopt this standard as of January 1, 2021. Our accounting and disclosures related to our convertible senior notes issued on March 9, 2021, reflect the requirements of this standard. For further information, please refer to Note 7, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Debt&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;.&lt;/span&gt;&lt;/div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2019, the FASB issued ASU 2019-12,&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt; Simplifying the Accounting for Income Taxes&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, (&#x201c;ASU 2019-12&#x201d;) which simplifies the accounting for income taxes, eliminates certain exceptions within ASC 740, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Income Taxes&lt;/span&gt;, and clarifies certain aspects of the current guidance to promote consistency among reporting entities. The new standard is effective for fiscal years beginning after December 15, 2020. We adopted ASU 2019-12 as of January 1, 2021. The adoption of this standard did not have a material impact on our consolidated financial statements.</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:BusinessCombinationDisclosureTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RleHRyZWdpb246Yzk3NDY3MWE3YzE1NDc2MDhiODg2ZGJkNDBiNzY4MWRfMTUyNA_46168832-0938-4944-9f51-a1721366c47b">Acquisitions&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On April 21, 2021, (&#x201c;Closing Date&#x201d;), the Company acquired NIC as contemplated by the Agreement and Plan of Merger dated February 9, 2021, (the &#x201c;Merger Agreement&#x201d;). As result of the merger, NIC became a direct subsidiary of the Company and NIC&#x2019;s subsidiaries became indirect subsidiaries of the Company. NIC is a leading digital government solutions and payment company that serves federal, state and local government agencies. The total purchase price, net of cash acquired of $331.8&#160;million, was approximately $2.0 billion consisting of cash paid of $2.3 billion and $1.9 million of&#160;purchase consideration related to the conversion of unvested restricted stock awards.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have performed a preliminary valuation analysis of the fair market value of NIC&#x2019;s assets and liabilities. The following table summarizes the preliminary allocation of the purchase price as of the acquisition date:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:73.461%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.609%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(In thousands)&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;331,783&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;149,632&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other current assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,988&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other noncurrent assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,974&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Identifiable intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;754,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,464,084&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts payable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(150,099)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(63,809)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other noncurrent liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,493)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,522)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax liabilities, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(186,046)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total consideration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,320,492&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In connection with this transaction, we acquired total tangible assets of $515.4 million and assumed liabilities of approximately $226.9 million. We recorded goodwill of approximately $1.5 billion, none of which is expected to be deductible for tax purposes, and other identifiable intangible assets of approximately $754.0 million. The $754.0 million of intangible assets are attributable to customer relationships, acquired software, trade name and will be amortized over a weighted average period of approximately 17 years. We recorded net deferred tax liabilities of $186.0 million related to estimated fair value allocations.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;NIC delivers user-friendly digital services that make it easier and more efficient for citizens and businesses to interact with government - providing valuable conveniences like applying for unemployment insurance, submitting business filings, renewing licenses, accessing information and making secure payments without visiting a government office. In addition, NIC has extensive expertise and scale in the government payments arena which will accelerate the Company&#x2019;s strategic payments initiatives&lt;/span&gt;&lt;span style="color:#000000;font-family:'Calibri',sans-serif;font-size:11pt;font-weight:400;line-height:120%"&gt;. &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Therefore, the goodwill of approximately $1.5 billion arising from this acquisition is primarily attributed to our ability to generate increased revenues, earnings and cash flow by expanding our addressable market and client base. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following unaudited pro forma consolidated operating results information has been prepared as if the acquisition of NIC had occurred on January 1, 2020, after giving effect to certain adjustments, including amortization of intangibles, interest, transaction costs and tax effects.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:16pt;margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:93.274%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:35.890%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.583%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.320%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.583%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.320%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.464%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.417%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.583%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.540%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;433,739&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;364,680&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;862,181&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;732,340&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,934&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59,160&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80,299&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.49&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.34&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.45&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.01&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.47&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.29&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.93&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The pro forma information above does not include acquisitions that are not considered material to our results of operations. The pro forma information does not purport to represent what our results of operations actually would have been had such transaction occurred on the date specified or to project our results of operations for any future period.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March 31, 2021, we acquired all the equity interest of Glass Arc, Inc. (dba ReadySub). ReadySub is a cloud-based platform that assists school districts with absence tracking, filling substitute teacher assignments, and automating essential payroll processes. The total purchase price of approximately $6.2 million, net of cash acquired, was paid in cash.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March 31, 2021, we acquired substantially all assets of DataSpec, Inc. (&#x201c;DataSpec&#x201d;), a provider of a SaaS solution that allows for secure electronic claims submission to the federal Department of Veterans Affairs (&#x201c;VA&#x201d;) and reporting capabilities, in addition to scheduling, calendaring, and payments. The total purchase price of approximately $5.8 million was paid in cash.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The operating results of DataSpec and ReadySub are included with the operating results of the Enterprise Software segment since their date of acquisition. The impact of the DataSpec and ReadySub acquisitions, individually and in the aggregate, on our operating results, assets and liabilities is not material. The operating results of NIC are disclosed separately as a reportable segment.  Revenues from NIC included in Tyler's results of operations totaled approximately $99.1 million and the net income loss was approximately $9.7 million from the date of acquisition through June&#160;30, 2021. In 2021, we incurred fees of approximately $18.3 million for financial advisory, legal, accounting, due diligence, valuation and other various services necessary to complete these acquisitions. The Company also incurred $1.6 million of expense related to a separation agreement with NIC's former Chief Executive Officer. These costs were expensed in 2021 and are included in selling, general and administrative expenses in the accompanying condensed consolidated statements of income.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of June&#160;30, 2021, the purchase price allocations for DataSpec, ReadySub and NIC are not yet complete; therefore, the preliminary valuation estimates of fair value assumed at the acquisition date for intangible assets, receivables and deferred revenue and related deferred taxes are subject to change as valuations are finalized. Our balance sheet as of June&#160;30, 2021, reflects the allocation of the purchase price to the net assets acquired based on their estimated fair value at the date of each acquisition. The fair value of the assets and liabilities acquired are based on valuations using Level III, unobservable inputs that are supported by little or no market activity and that are significant to the fair value of the assets or liabilities.&lt;/span&gt;&lt;/div&gt;</us-gaap:BusinessCombinationDisclosureTextBlock>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="i23e9ff3634c54913b9d0810826f6267b_I20210421"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RleHRyZWdpb246Yzk3NDY3MWE3YzE1NDc2MDhiODg2ZGJkNDBiNzY4MWRfMjc0ODc3OTEwMDIwNw_90cd6a43-a220-4b9e-9c3d-0b5e6ca3fe16"
      unitRef="usd">331800000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="i88cd23938c234c3b9914ab6c7887859c_D20210421-20210421"
      decimals="-8"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RleHRyZWdpb246Yzk3NDY3MWE3YzE1NDc2MDhiODg2ZGJkNDBiNzY4MWRfNDM5ODA0NjUzMzg0Ng_53416c31-a88b-40fb-b0b8-d296eea13930"
      unitRef="usd">2000000000.0</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i88cd23938c234c3b9914ab6c7887859c_D20210421-20210421"
      decimals="-8"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RleHRyZWdpb246Yzk3NDY3MWE3YzE1NDc2MDhiODg2ZGJkNDBiNzY4MWRfNDM5ODA0NjUzMzg0OQ_bd11f36b-14ea-4639-9e0d-4fb33e64cc8f"
      unitRef="usd">2300000000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:BusinessCombinationContingentConsiderationLiability
      contextRef="i23e9ff3634c54913b9d0810826f6267b_I20210421"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RleHRyZWdpb246Yzk3NDY3MWE3YzE1NDc2MDhiODg2ZGJkNDBiNzY4MWRfNDM5ODA0NjUzMzg4Mw_9705426d-268e-496c-8596-f498c7f76660"
      unitRef="usd">1900000</us-gaap:BusinessCombinationContingentConsiderationLiability>
    <us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RleHRyZWdpb246Yzk3NDY3MWE3YzE1NDc2MDhiODg2ZGJkNDBiNzY4MWRfNDk0NzgwMjM0NjkwMQ_b75b3ef0-f8bb-4fce-809f-2f8c644e3dec">The following table summarizes the preliminary allocation of the purchase price as of the acquisition date:&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:73.461%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:23.609%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(In thousands)&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;331,783&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts receivable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;149,632&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other current assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,988&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other noncurrent assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20,974&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Identifiable intangible assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;754,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Goodwill&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,464,084&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accounts payable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(150,099)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Accrued expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(63,809)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other noncurrent liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,493)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,522)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferred tax liabilities, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(186,046)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total consideration&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,320,492&#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:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents
      contextRef="i23e9ff3634c54913b9d0810826f6267b_I20210421"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RhYmxlOmIxNTNjMTI0ZTUyMjRjZmI4NDMyZTBiYWM5ZWNiNGQ2L3RhYmxlcmFuZ2U6YjE1M2MxMjRlNTIyNGNmYjg0MzJlMGJhYzllY2I0ZDZfMS0yLTEtMS02OTk_94d8dcf1-fba9-4c62-9791-125a441e0cc1"
      unitRef="usd">331783000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables
      contextRef="i23e9ff3634c54913b9d0810826f6267b_I20210421"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RhYmxlOmIxNTNjMTI0ZTUyMjRjZmI4NDMyZTBiYWM5ZWNiNGQ2L3RhYmxlcmFuZ2U6YjE1M2MxMjRlNTIyNGNmYjg0MzJlMGJhYzllY2I0ZDZfMi0yLTEtMS02OTk_12de8c4b-9ae1-4a67-ab7a-509372233005"
      unitRef="usd">149632000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther
      contextRef="i23e9ff3634c54913b9d0810826f6267b_I20210421"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RhYmxlOmIxNTNjMTI0ZTUyMjRjZmI4NDMyZTBiYWM5ZWNiNGQ2L3RhYmxlcmFuZ2U6YjE1M2MxMjRlNTIyNGNmYjg0MzJlMGJhYzllY2I0ZDZfMy0yLTEtMS02OTk_80dad16a-03fd-41a2-9efd-f084863f6b98"
      unitRef="usd">12988000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets
      contextRef="i23e9ff3634c54913b9d0810826f6267b_I20210421"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RhYmxlOmIxNTNjMTI0ZTUyMjRjZmI4NDMyZTBiYWM5ZWNiNGQ2L3RhYmxlcmFuZ2U6YjE1M2MxMjRlNTIyNGNmYjg0MzJlMGJhYzllY2I0ZDZfNC0yLTEtMS02OTk_a8730089-ea7a-4d4e-9d1e-57e02ebb1737"
      unitRef="usd">20974000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i23e9ff3634c54913b9d0810826f6267b_I20210421"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RhYmxlOmIxNTNjMTI0ZTUyMjRjZmI4NDMyZTBiYWM5ZWNiNGQ2L3RhYmxlcmFuZ2U6YjE1M2MxMjRlNTIyNGNmYjg0MzJlMGJhYzllY2I0ZDZfNS0yLTEtMS02OTk_b757c37c-05c6-44dc-8df3-99dd7ab0c3e6"
      unitRef="usd">754000000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:Goodwill
      contextRef="i23e9ff3634c54913b9d0810826f6267b_I20210421"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RhYmxlOmIxNTNjMTI0ZTUyMjRjZmI4NDMyZTBiYWM5ZWNiNGQ2L3RhYmxlcmFuZ2U6YjE1M2MxMjRlNTIyNGNmYjg0MzJlMGJhYzllY2I0ZDZfNi0yLTEtMS02OTk_dbd2f627-b5ae-40cd-a3e4-62ab266a48f1"
      unitRef="usd">1464084000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable
      contextRef="i23e9ff3634c54913b9d0810826f6267b_I20210421"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RhYmxlOmIxNTNjMTI0ZTUyMjRjZmI4NDMyZTBiYWM5ZWNiNGQ2L3RhYmxlcmFuZ2U6YjE1M2MxMjRlNTIyNGNmYjg0MzJlMGJhYzllY2I0ZDZfNy0yLTEtMS02OTk_50b216e3-c5be-4a8c-b984-3907899b6f6c"
      unitRef="usd">150099000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther
      contextRef="i23e9ff3634c54913b9d0810826f6267b_I20210421"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RhYmxlOmIxNTNjMTI0ZTUyMjRjZmI4NDMyZTBiYWM5ZWNiNGQ2L3RhYmxlcmFuZ2U6YjE1M2MxMjRlNTIyNGNmYjg0MzJlMGJhYzllY2I0ZDZfOC0yLTEtMS02OTk_c68d1b94-9d3a-4f6c-95f3-7484f25cde7a"
      unitRef="usd">63809000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther
      contextRef="i23e9ff3634c54913b9d0810826f6267b_I20210421"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RhYmxlOmIxNTNjMTI0ZTUyMjRjZmI4NDMyZTBiYWM5ZWNiNGQ2L3RhYmxlcmFuZ2U6YjE1M2MxMjRlNTIyNGNmYjg0MzJlMGJhYzllY2I0ZDZfOS0yLTEtMS02OTk_fd94053b-283d-481c-b460-b2c596a321dd"
      unitRef="usd">11493000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue
      contextRef="i23e9ff3634c54913b9d0810826f6267b_I20210421"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RhYmxlOmIxNTNjMTI0ZTUyMjRjZmI4NDMyZTBiYWM5ZWNiNGQ2L3RhYmxlcmFuZ2U6YjE1M2MxMjRlNTIyNGNmYjg0MzJlMGJhYzllY2I0ZDZfMTAtMi0xLTEtNjk5_a128dceb-8dbd-40fc-8e37-d96e59494587"
      unitRef="usd">1522000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesDeferredRevenue>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities
      contextRef="i23e9ff3634c54913b9d0810826f6267b_I20210421"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RhYmxlOmIxNTNjMTI0ZTUyMjRjZmI4NDMyZTBiYWM5ZWNiNGQ2L3RhYmxlcmFuZ2U6YjE1M2MxMjRlNTIyNGNmYjg0MzJlMGJhYzllY2I0ZDZfMTEtMi0xLTEtNjk5_542772bc-6367-4b12-b158-fe48c58a72e3"
      unitRef="usd">186046000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet
      contextRef="i23e9ff3634c54913b9d0810826f6267b_I20210421"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RhYmxlOmIxNTNjMTI0ZTUyMjRjZmI4NDMyZTBiYWM5ZWNiNGQ2L3RhYmxlcmFuZ2U6YjE1M2MxMjRlNTIyNGNmYjg0MzJlMGJhYzllY2I0ZDZfMTItMi0xLTEtOTM1_ad3119a1-eb09-4176-9461-8da5c8367ab8"
      unitRef="usd">2320492000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets
      contextRef="i23e9ff3634c54913b9d0810826f6267b_I20210421"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RleHRyZWdpb246Yzk3NDY3MWE3YzE1NDc2MDhiODg2ZGJkNDBiNzY4MWRfMTA5OTUxMTY0OTU4OQ_c12404a0-1b34-426f-a758-c01bbe68ab0f"
      unitRef="usd">515400000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssets>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities
      contextRef="i23e9ff3634c54913b9d0810826f6267b_I20210421"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RleHRyZWdpb246Yzk3NDY3MWE3YzE1NDc2MDhiODg2ZGJkNDBiNzY4MWRfMTA5OTUxMTY0OTU5NQ_7231b3ca-9e54-4620-8ef0-d3c67ca47e24"
      unitRef="usd">226900000</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities>
    <us-gaap:Goodwill
      contextRef="i23e9ff3634c54913b9d0810826f6267b_I20210421"
      decimals="-8"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RleHRyZWdpb246Yzk3NDY3MWE3YzE1NDc2MDhiODg2ZGJkNDBiNzY4MWRfMjc0ODc3OTA5MTM1Mw_32ddd523-0021-4ad6-b935-d196d93c11f7"
      unitRef="usd">1500000000</us-gaap:Goodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i23e9ff3634c54913b9d0810826f6267b_I20210421"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RleHRyZWdpb246Yzk3NDY3MWE3YzE1NDc2MDhiODg2ZGJkNDBiNzY4MWRfMjc0ODc3OTA5MTM1OQ_6256842a-acc6-4cfc-8e4d-07d583da146c"
      unitRef="usd">754000000.0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill
      contextRef="i23e9ff3634c54913b9d0810826f6267b_I20210421"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RleHRyZWdpb246Yzk3NDY3MWE3YzE1NDc2MDhiODg2ZGJkNDBiNzY4MWRfMjc0ODc3OTA5MTM2Ng_6256842a-acc6-4cfc-8e4d-07d583da146c"
      unitRef="usd">754000000.0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife
      contextRef="i88cd23938c234c3b9914ab6c7887859c_D20210421-20210421"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RleHRyZWdpb246Yzk3NDY3MWE3YzE1NDc2MDhiODg2ZGJkNDBiNzY4MWRfMTA5OTUxMTY0OTYzMA_34730c16-fe34-400b-970a-ef7c8315fe0a">P17Y</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities
      contextRef="i23e9ff3634c54913b9d0810826f6267b_I20210421"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RleHRyZWdpb246Yzk3NDY3MWE3YzE1NDc2MDhiODg2ZGJkNDBiNzY4MWRfMjc0ODc3OTA5MTM3MA_ce8ee6a9-603f-4b94-b928-54e9735f59bd"
      unitRef="usd">186000000.0</us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities>
    <us-gaap:Goodwill
      contextRef="i23e9ff3634c54913b9d0810826f6267b_I20210421"
      decimals="-8"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RleHRyZWdpb246Yzk3NDY3MWE3YzE1NDc2MDhiODg2ZGJkNDBiNzY4MWRfMjc0ODc3OTEwMDIxOQ_28405969-0ca1-4e65-a73f-e3075c004c84"
      unitRef="usd">1500000000</us-gaap:Goodwill>
    <us-gaap:BusinessAcquisitionProFormaInformationTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RleHRyZWdpb246Yzk3NDY3MWE3YzE1NDc2MDhiODg2ZGJkNDBiNzY4MWRfNDk0NzgwMjM0NjkwMA_7679379b-752e-4c03-9f41-9fbdc9d137fe">&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following unaudited pro forma consolidated operating results information has been prepared as if the acquisition of NIC had occurred on January 1, 2020, after giving effect to certain adjustments, including amortization of intangibles, interest, transaction costs and tax effects.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:16pt;margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:93.274%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:35.890%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.583%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.320%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.583%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.320%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:2.464%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.417%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.583%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.540%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;433,739&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;364,680&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;862,181&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;732,340&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,934&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,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 style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;59,160&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;80,299&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic earnings per share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.49&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.34&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.45&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.01&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted earnings per share&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.47&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.29&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.40&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.93&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:BusinessAcquisitionProFormaInformationTextBlock>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="i99c5c8bfb187436084446708258c3840_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RhYmxlOmMwMzNhMWE5YTA5NjQ3NTNhMzVlMTA5ZTZmNjU4ZTZmL3RhYmxlcmFuZ2U6YzAzM2ExYTlhMDk2NDc1M2EzNWUxMDllNmY2NThlNmZfMi0yLTEtMS04MjM_1189ebda-c058-408b-a923-125a9d6cd5c4"
      unitRef="usd">433739000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="i8da5547bd9384e38b290bd2f876ad7cf_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RhYmxlOmMwMzNhMWE5YTA5NjQ3NTNhMzVlMTA5ZTZmNjU4ZTZmL3RhYmxlcmFuZ2U6YzAzM2ExYTlhMDk2NDc1M2EzNWUxMDllNmY2NThlNmZfMi00LTEtMS04MjM_5d05df7c-d56c-4112-a489-4bb4bb31e038"
      unitRef="usd">364680000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="ia58f35b83c844a99a994404870315fe2_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RhYmxlOmMwMzNhMWE5YTA5NjQ3NTNhMzVlMTA5ZTZmNjU4ZTZmL3RhYmxlcmFuZ2U6YzAzM2ExYTlhMDk2NDc1M2EzNWUxMDllNmY2NThlNmZfMi02LTEtMS04MzM_bc33a338-a226-4ef4-824c-a12a731c05b3"
      unitRef="usd">862181000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="i3f28be40b0ca416aafdfb64a81a19030_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RhYmxlOmMwMzNhMWE5YTA5NjQ3NTNhMzVlMTA5ZTZmNjU4ZTZmL3RhYmxlcmFuZ2U6YzAzM2ExYTlhMDk2NDc1M2EzNWUxMDllNmY2NThlNmZfMi04LTEtMS04Mzc_eeb425c3-5f7b-4213-b97a-fabf1170753f"
      unitRef="usd">732340000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="i99c5c8bfb187436084446708258c3840_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RhYmxlOmMwMzNhMWE5YTA5NjQ3NTNhMzVlMTA5ZTZmNjU4ZTZmL3RhYmxlcmFuZ2U6YzAzM2ExYTlhMDk2NDc1M2EzNWUxMDllNmY2NThlNmZfMy0yLTEtMS04MjM_af136115-2a42-4784-9443-ece4209ff97c"
      unitRef="usd">19934000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="i8da5547bd9384e38b290bd2f876ad7cf_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RhYmxlOmMwMzNhMWE5YTA5NjQ3NTNhMzVlMTA5ZTZmNjU4ZTZmL3RhYmxlcmFuZ2U6YzAzM2ExYTlhMDk2NDc1M2EzNWUxMDllNmY2NThlNmZfMy00LTEtMS04MjM_9f6e80c8-1681-48e6-846e-60bf33ad15ef"
      unitRef="usd">53567000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="ia58f35b83c844a99a994404870315fe2_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RhYmxlOmMwMzNhMWE5YTA5NjQ3NTNhMzVlMTA5ZTZmNjU4ZTZmL3RhYmxlcmFuZ2U6YzAzM2ExYTlhMDk2NDc1M2EzNWUxMDllNmY2NThlNmZfMy02LTEtMS04MzM_cd66f8fe-deb1-47b3-9272-936c3854550f"
      unitRef="usd">59160000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="i3f28be40b0ca416aafdfb64a81a19030_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RhYmxlOmMwMzNhMWE5YTA5NjQ3NTNhMzVlMTA5ZTZmNjU4ZTZmL3RhYmxlcmFuZ2U6YzAzM2ExYTlhMDk2NDc1M2EzNWUxMDllNmY2NThlNmZfMy04LTEtMS04Mzc_8250a57a-94cb-445a-938e-6c43b27b1bff"
      unitRef="usd">80299000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic
      contextRef="i99c5c8bfb187436084446708258c3840_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RhYmxlOmMwMzNhMWE5YTA5NjQ3NTNhMzVlMTA5ZTZmNjU4ZTZmL3RhYmxlcmFuZ2U6YzAzM2ExYTlhMDk2NDc1M2EzNWUxMDllNmY2NThlNmZfNC0yLTEtMS04MjM_d7ad81ef-0abd-4214-97e4-ad70ef8364e5"
      unitRef="usdPerShare">0.49</us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic>
    <us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic
      contextRef="i8da5547bd9384e38b290bd2f876ad7cf_D20200401-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RhYmxlOmMwMzNhMWE5YTA5NjQ3NTNhMzVlMTA5ZTZmNjU4ZTZmL3RhYmxlcmFuZ2U6YzAzM2ExYTlhMDk2NDc1M2EzNWUxMDllNmY2NThlNmZfNC00LTEtMS04MjM_ee714e26-0eb1-4def-a959-a9b6a2658706"
      unitRef="usdPerShare">1.34</us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic>
    <us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic
      contextRef="ia58f35b83c844a99a994404870315fe2_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RhYmxlOmMwMzNhMWE5YTA5NjQ3NTNhMzVlMTA5ZTZmNjU4ZTZmL3RhYmxlcmFuZ2U6YzAzM2ExYTlhMDk2NDc1M2EzNWUxMDllNmY2NThlNmZfNC02LTEtMS04MzM_066396c6-6053-4a59-ace6-f1497a291c63"
      unitRef="usdPerShare">1.45</us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic>
    <us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic
      contextRef="i3f28be40b0ca416aafdfb64a81a19030_D20200101-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RhYmxlOmMwMzNhMWE5YTA5NjQ3NTNhMzVlMTA5ZTZmNjU4ZTZmL3RhYmxlcmFuZ2U6YzAzM2ExYTlhMDk2NDc1M2EzNWUxMDllNmY2NThlNmZfNC04LTEtMS04Mzc_29c96ffc-f9ca-45dd-ba0e-19ea167535a6"
      unitRef="usdPerShare">2.01</us-gaap:BusinessAcquisitionProFormaEarningsPerShareBasic>
    <us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted
      contextRef="i99c5c8bfb187436084446708258c3840_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RhYmxlOmMwMzNhMWE5YTA5NjQ3NTNhMzVlMTA5ZTZmNjU4ZTZmL3RhYmxlcmFuZ2U6YzAzM2ExYTlhMDk2NDc1M2EzNWUxMDllNmY2NThlNmZfNS0yLTEtMS04MjM_1ffebd03-42ac-4abd-bfaf-0558f6eb25c6"
      unitRef="usdPerShare">0.47</us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted>
    <us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted
      contextRef="i8da5547bd9384e38b290bd2f876ad7cf_D20200401-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RhYmxlOmMwMzNhMWE5YTA5NjQ3NTNhMzVlMTA5ZTZmNjU4ZTZmL3RhYmxlcmFuZ2U6YzAzM2ExYTlhMDk2NDc1M2EzNWUxMDllNmY2NThlNmZfNS00LTEtMS04MjM_fffad7d0-9348-45dd-896c-73cddb86dd44"
      unitRef="usdPerShare">1.29</us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted>
    <us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted
      contextRef="ia58f35b83c844a99a994404870315fe2_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RhYmxlOmMwMzNhMWE5YTA5NjQ3NTNhMzVlMTA5ZTZmNjU4ZTZmL3RhYmxlcmFuZ2U6YzAzM2ExYTlhMDk2NDc1M2EzNWUxMDllNmY2NThlNmZfNS02LTEtMS04MzM_f8c055ec-071b-4887-bb0f-aefe92240f1a"
      unitRef="usdPerShare">1.40</us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted>
    <us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted
      contextRef="i3f28be40b0ca416aafdfb64a81a19030_D20200101-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RhYmxlOmMwMzNhMWE5YTA5NjQ3NTNhMzVlMTA5ZTZmNjU4ZTZmL3RhYmxlcmFuZ2U6YzAzM2ExYTlhMDk2NDc1M2EzNWUxMDllNmY2NThlNmZfNS04LTEtMS04Mzc_b4408ec2-9a39-4b7c-b11e-4590a86d5b09"
      unitRef="usdPerShare">1.93</us-gaap:BusinessAcquisitionProFormaEarningsPerShareDiluted>
    <us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired
      contextRef="i3da8ee6b97024b0abd192aad54c606f4_D20210331-20210331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RleHRyZWdpb246Yzk3NDY3MWE3YzE1NDc2MDhiODg2ZGJkNDBiNzY4MWRfNDM5ODA0NjUzODgzMg_2993003a-d2af-46bc-b057-2571f75ac375"
      unitRef="usd">6200000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i7a06c83aa94e429287ad4e3f870bf15e_D20210331-20210331"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RleHRyZWdpb246Yzk3NDY3MWE3YzE1NDc2MDhiODg2ZGJkNDBiNzY4MWRfNDM5ODA0NjUzOTM3Mw_0890fb88-3da4-4620-a691-2756d76a1b02"
      unitRef="usd">5800000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:BusinessAcquisitionsProFormaRevenue
      contextRef="icc677656fe5f42bfa5ceb5e74856faa9_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RleHRyZWdpb246Yzk3NDY3MWE3YzE1NDc2MDhiODg2ZGJkNDBiNzY4MWRfNDM5ODA0NjUzODQ2Mw_97eb6c94-0f3d-48ef-9882-458f8a5b626d"
      unitRef="usd">99100000</us-gaap:BusinessAcquisitionsProFormaRevenue>
    <us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss
      contextRef="icc677656fe5f42bfa5ceb5e74856faa9_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RleHRyZWdpb246Yzk3NDY3MWE3YzE1NDc2MDhiODg2ZGJkNDBiNzY4MWRfNDM5ODA0NjUzODQ2Nw_7cc30c8a-80a5-4fb4-8392-e9ec86bdb464"
      unitRef="usd">9700000</us-gaap:BusinessAcquisitionsProFormaNetIncomeLoss>
    <us-gaap:BusinessCombinationAcquisitionRelatedCosts
      contextRef="icc677656fe5f42bfa5ceb5e74856faa9_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RleHRyZWdpb246Yzk3NDY3MWE3YzE1NDc2MDhiODg2ZGJkNDBiNzY4MWRfNDM5ODA0NjUzODQ1Nw_2462777d-929c-4e71-a8c8-c8771ee5be59"
      unitRef="usd">18300000</us-gaap:BusinessCombinationAcquisitionRelatedCosts>
    <us-gaap:SeveranceCosts1
      contextRef="icc677656fe5f42bfa5ceb5e74856faa9_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF8zNy9mcmFnOmM5NzQ2NzFhN2MxNTQ3NjA4Yjg4NmRiZDQwYjc2ODFkL3RleHRyZWdpb246Yzk3NDY3MWE3YzE1NDc2MDhiODg2ZGJkNDBiNzY4MWRfNDM5ODA0NjU0MTUxMw_0c7e47d6-1bde-4741-ac71-3057f5ab1dd0"
      unitRef="usd">1600000</us-gaap:SeveranceCosts1>
    <us-gaap:StockholdersEquityNoteDisclosureTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RleHRyZWdpb246MTY1OWIwOTE2YzJjNDFlMGI1MjhiYTMxM2I2MWNkMTBfMjEx_ff467aad-a62c-482d-bcbb-45caea54548c">Shareholders&#x2019; Equity&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table details activity in our common stock:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:28.870%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:5.917%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.087%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:5.917%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.671%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:5.917%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.818%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.356%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.706%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="21" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Purchases of treasury shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(32)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12,975)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(32)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12,975)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(59)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(15,482)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Stock option exercises &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;89&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,286&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,101&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;210&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,388&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;917&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;92,337&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Employee stock plan purchases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,162&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,708&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,177&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Restricted stock units vested, net of withheld shares upon award settlement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,052)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,591)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(16,010)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,892)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of June&#160;30, 2021, we have authorization from our board of directors to repurchase up to 2.4 million additional shares of our common stock.&lt;/span&gt;&lt;/div&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
    <us-gaap:ScheduleOfStockholdersEquityTableTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RleHRyZWdpb246MTY1OWIwOTE2YzJjNDFlMGI1MjhiYTMxM2I2MWNkMTBfMjEy_fabee058-f0d9-4c7e-8de4-1a0615dbf0f6">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table details activity in our common stock:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:28.870%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:5.917%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.087%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:5.917%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.671%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:5.917%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.818%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:6.356%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.706%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="21" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="21" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Purchases of treasury shares&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(32)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12,975)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(32)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12,975)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(59)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(15,482)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Stock option exercises &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;89&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,286&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;46,101&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;210&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;29,388&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;917&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;92,337&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Employee stock plan purchases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,162&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,708&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,200&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,177&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Restricted stock units vested, net of withheld shares upon award settlement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,052)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,591)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(16,010)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,892)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfStockholdersEquityTableTextBlock>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfMy0yLTEtMS0w_8ea34d3a-91e2-49b4-b804-6a61254e1d21"
      unitRef="shares">32000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfMy00LTEtMS0w_bd65408e-a37b-4aff-8226-efe6b0591bd4"
      unitRef="usd">12975000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfMy02LTEtMS0w_11f5bff8-adab-460d-99c6-e7d074c6ee74"
      unitRef="shares">0</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfMy04LTEtMS0w_a73127e5-2aaf-4bcc-86fd-7b56c39e38fd"
      unitRef="usd">0</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfMy0xMC0xLTEtMA_6ef76441-d659-4217-aead-344af6d236e6"
      unitRef="shares">32000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfMy0xMi0xLTEtMA_4f4ab34f-4c8e-4ba4-a882-9fa77c0d8891"
      unitRef="usd">12975000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfMy0xNC0xLTEtMA_0d27b740-6e39-4f4a-b62a-1dcac0cd51f7"
      unitRef="shares">59000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfMy0xNi0xLTEtMA_a85098ac-15d0-4d07-9386-da9b006cbdaf"
      unitRef="usd">15482000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfNC0yLTEtMS0w_375021a8-4490-4e12-915e-7ac09e07281c"
      unitRef="shares">89000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfNC00LTEtMS0w_731e704d-6440-4d98-b7ef-db087da4534f"
      unitRef="usd">11286000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfNC02LTEtMS0w_1262dc12-611d-4bba-b802-176ebbaa0169"
      unitRef="shares">436000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfNC04LTEtMS0w_1c1217de-b7a1-4136-9cc1-16979d0199a2"
      unitRef="usd">46101000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfNC0xMC0xLTEtMA_163f712f-4e78-4088-a0ac-68740510953c"
      unitRef="shares">210000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfNC0xMi0xLTEtMA_eb5babc2-8030-4f6c-a8dc-38cc0da585e5"
      unitRef="usd">29388000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfNC0xNC0xLTEtMA_8eedcb76-d5d4-41e4-b7a3-c9965d3b48f0"
      unitRef="shares">917000</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfNC0xNi0xLTEtMA_25ce7105-9c65-4a24-ae26-ec75ad1f89e8"
      unitRef="usd">92337000</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfNS0yLTEtMS0w_b2ab3d39-25db-40b4-b502-331b0f366b19"
      unitRef="shares">9000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfNS00LTEtMS0w_f2ce8fa2-dcc3-48da-a035-7fd7dd932ff4"
      unitRef="usd">3162000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfNS02LTEtMS0w_c81d1b3a-8ba6-4a71-bf46-7b3b676cf00d"
      unitRef="shares">10000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfNS04LTEtMS0w_bf11dfcb-a726-4f9c-978d-0e036ba22479"
      unitRef="usd">2708000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfNS0xMC0xLTEtMA_089abe01-b205-4866-9dea-1b6489fdbcfc"
      unitRef="shares">17000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfNS0xMi0xLTEtMA_3028c72e-ff60-4460-b0e5-e16ca0c746d5"
      unitRef="usd">6200000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfNS0xNC0xLTEtMA_c69a5ae3-976e-40aa-bb9f-160543c96d02"
      unitRef="shares">20000</us-gaap:StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans>
    <us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfNS0xNi0xLTEtMA_dcc37bee-1adb-46ff-bcea-b7c6d4d4a7fc"
      unitRef="usd">5177000</us-gaap:StockIssuedDuringPeriodValueEmployeeStockPurchasePlan>
    <tyl:ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfNi0yLTEtMS0w_a1885967-82f9-45de-b05e-08fbd57625e6"
      unitRef="shares">43000</tyl:ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement>
    <tyl:StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfNi00LTEtMS0w_61a88825-fe45-410e-a31c-2f4303950f77"
      unitRef="usd">7052000</tyl:StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement>
    <tyl:ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfNi02LTEtMS0w_97485fd8-9523-41c7-a976-5acc07e320c2"
      unitRef="shares">33000</tyl:ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement>
    <tyl:StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfNi04LTEtMS0w_0e75bbb9-689e-41c9-bb4e-2c50e4bd03e2"
      unitRef="usd">4591000</tyl:StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement>
    <tyl:ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfNi0xMC0xLTEtMA_10e24e31-db06-41c4-b65c-d86a45ec499b"
      unitRef="shares">99000</tyl:ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement>
    <tyl:StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfNi0xMi0xLTEtMA_7adedfdd-7da3-4553-a45d-993ab22c4782"
      unitRef="usd">16010000</tyl:StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement>
    <tyl:ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfNi0xNC0xLTEtMA_e61384c7-039e-49cb-a1ff-61602609e570"
      unitRef="shares">43000</tyl:ShareBasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherthanOptionsVestedInPeriodNetOfWithheldSharesUponAwardSettlement>
    <tyl:StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RhYmxlOjNhNTcyY2U4NDcyYzQzOTI4M2Y3YTNlOTRjYWM2MmRjL3RhYmxlcmFuZ2U6M2E1NzJjZTg0NzJjNDM5MjgzZjdhM2U5NGNhYzYyZGNfNi0xNi0xLTEtMA_7ea543bc-da43-4fcd-8cc7-58de8bcde7fb"
      unitRef="usd">6892000</tyl:StockIssuedDuringPeriodValueRestrictedStockUnitsVestedNetOfWithheldSharesUponAwardSettlement>
    <us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80MC9mcmFnOjE2NTliMDkxNmMyYzQxZTBiNTI4YmEzMTNiNjFjZDEwL3RleHRyZWdpb246MTY1OWIwOTE2YzJjNDFlMGI1MjhiYTMxM2I2MWNkMTBfMTcx_6684caa4-0c5d-45fd-8cab-2cc6c75b02a9"
      unitRef="shares">2400000</us-gaap:StockRepurchaseProgramNumberOfSharesAuthorizedToBeRepurchased>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80My9mcmFnOjk0YzI5OGI1MjBiNTQwOTY4MTcyYmYwYzQ5NjUyMjg1L3RleHRyZWdpb246OTRjMjk4YjUyMGI1NDA5NjgxNzJiZjBjNDk2NTIyODVfOTc4_cc418169-34c8-49eb-ae10-5a4e577deb2d">Deferred CommissionsSales commissions earned by our sales force are considered incremental and recoverable costs of obtaining a contract with a customer. Sales commissions for initial contracts are deferred and then amortized commensurate with the recognition of associated revenue over a period of benefit that we have determined to be &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80My9mcmFnOjk0YzI5OGI1MjBiNTQwOTY4MTcyYmYwYzQ5NjUyMjg1L3RleHRyZWdpb246OTRjMjk4YjUyMGI1NDA5NjgxNzJiZjBjNDk2NTIyODVfMzQ3_9c1f4ccc-f54c-4511-8ad9-da53280c0a50"&gt;three&lt;/span&gt; to seven years. Deferred commissions were&#160;$33.6 million&#160;and $32.3 million as of June&#160;30, 2021,&#160;and&#160;December&#160;31, 2020, respectively. Amortization expense was $3.1 million and $6.1 million for the&#160;three and six months ended June&#160;30, 2021, respectively, and $2.9 million and $5.9 million for the three and six ended June&#160;30, 2020, respectively. There were no indicators of impairment in relation to the costs capitalized for the periods presented. Deferred commissions have been included with prepaid expenses for the current portion and non-current other assets for the long-term portion in the accompanying condensed consolidated balance sheets. Amortization expense related to deferred commissions is included in selling, general and administrative expenses in the accompanying condensed consolidated statements of income.Disaggregation of RevenueThe tables below show disaggregation of revenue into categories that reflect how economic factors affect the nature, amount, timing, and uncertainty of revenue and cash flows.&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Timing of Revenue Recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Timing of revenue recognition by revenue category during the period is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.122%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:40.935%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.221%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.041%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.192%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;For the three months ended June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Products and services transferred at a point in time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Products and services transferred over time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software licenses and royalties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,755&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,849&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,604&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;199,558&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;199,558&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,337&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,337&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Maintenance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;119,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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;119,621&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Appraisal services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,265&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,265&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Hardware and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,690&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,690&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,445&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;381,630&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;404,075&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top: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:40.420%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.636%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.180%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;For the three months ended June 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Products and services transferred at a point in time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Products and services transferred over time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software licenses and royalties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,468&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,557&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,025&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,638&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,638&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,654&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,654&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Maintenance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;116,760&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;116,760&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Appraisal services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,696&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,696&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Hardware and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,318&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,318&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,786&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;253,305&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;271,091&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top: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:40.859%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.636%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.882%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.033%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;For the six months ended June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Products and services transferred at a point in time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Products and services transferred over time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software licenses and royalties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,813&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,724&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,537&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;302,037&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;302,037&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100,977&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100,977&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Maintenance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;238,733&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;238,733&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Appraisal services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,730&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,730&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Hardware and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,863&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,863&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,676&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;660,201&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;698,877&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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;&lt;/div&gt;&lt;div style="margin-top: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:41.590%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.905%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.882%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.033%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;For the six months ended June 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Products and services transferred at a point in time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Products and services transferred over time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software licenses and royalties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,534&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,228&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,762&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;167,361&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;167,361&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;95,787&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;95,787&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Maintenance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;231,125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;231,125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Appraisal services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,459&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,459&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Hardware and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,672&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;509,960&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;547,632&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:3pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Recurring Revenue &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The majority of our revenue is comprised of revenues from maintenance and subscriptions, which we consider to be recurring revenue. Virtually all of our on-premises software clients contract with us for maintenance and support, which provides us with a significant source of recurring revenue. We generally provide maintenance and support for our on-premises clients under annual, or in some cases, multi-year contracts. The contract terms for subscription arrangements range from &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RleHRyZWdpb246ZTE1MDllN2QyYmNiNGY4YTkzNmFjYWMwZDdjN2RiNWZfODMx_59d155ba-6c6c-4073-873d-25734ceb48b3"&gt;one&lt;/span&gt; to 10 years but are typically contracted for initial periods of &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RleHRyZWdpb246ZTE1MDllN2QyYmNiNGY4YTkzNmFjYWMwZDdjN2RiNWZfODky_8a1f7d99-2747-458d-b108-3d5923ccf1c8"&gt;three&lt;/span&gt; to five years, providing a significant source of recurring revenues on an annual basis. We consider all other revenue categories to be non-recurring revenues. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Recurring revenues and non-recurring revenues recognized during the period are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.014%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.345%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.466%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.641%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;For the three months ended June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Enterprise&lt;br/&gt;Software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Appraisal&#160;and&#160;Tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;NIC&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Totals&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recurring revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;208,417&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,326&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;93,436&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;319,179&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-recurring revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,479&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,835&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,643&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,939&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;84,896&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intercompany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,605&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,621)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;277,501&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,177&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99,079&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,682)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;404,075&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:32.135%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.052%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.642%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;For the three months ended June 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Enterprise&lt;br/&gt;Software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Appraisal&#160;and&#160;Tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;NIC&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Totals&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recurring revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;186,464&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,934&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;202,398&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-recurring revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,882&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,811&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68,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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intercompany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,533&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,535)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;247,879&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,747&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,535)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;271,091&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:31.794%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.742%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.626%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;For the six months ended June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Enterprise&lt;br/&gt;Software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Appraisal&#160;and&#160;Tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;NIC&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Totals&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recurring revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;413,031&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,303&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;93,436&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;540,770&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-recurring revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;123,212&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,313&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,643&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,939&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;158,107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intercompany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,866&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,897)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;547,109&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60,647&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99,079&#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="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,958)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;698,877&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:32.087%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.180%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.626%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;For the six months ended June 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Enterprise&lt;br/&gt;Software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Appraisal&#160;and&#160;Tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;NIC&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Totals&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recurring revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;367,949&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,537&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;398,486&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-recurring revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;121,573&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,571&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;149,146&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intercompany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,534&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,554)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;498,056&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,128&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,552)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;547,632&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;Deferred Revenue and Performance Obligations&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total deferred revenue, including long-term, by segment is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.543%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:51.822%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.589%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:21.490%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.589%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:21.810%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Enterprise Software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;442,822&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;422,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Appraisal&#160;and&#160;Tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,419&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;36,945&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;NIC&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,719&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,590&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,691&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Totals&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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;484,550&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;461,378&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Changes in total deferred revenue, including long-term, were as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:76.754%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:74.138%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.133%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:22.329%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Six months ended June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;461,378&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferral of revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;569,106&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recognition of deferred revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(545,934)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;484,550&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:21pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Transaction Price Allocated to the Remaining Performance Obligations&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The aggregate amount of transaction price allocated to the remaining performance obligations represents contracted revenue that has not yet been recognized (&#x201c;backlog&#x201d;), which includes deferred revenue and amounts that will be invoiced and recognized as revenue in future periods. Backlog as of June&#160;30, 2021, was $1.63 billion, of which we expect to recognize approximately 47% as revenue over the next 12 months and the remainder thereafter.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <tyl:SalesCommissionsAmortizationPeriod
      contextRef="if7be4fd15b25499c873404bdf717189b_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80My9mcmFnOjk0YzI5OGI1MjBiNTQwOTY4MTcyYmYwYzQ5NjUyMjg1L3RleHRyZWdpb246OTRjMjk4YjUyMGI1NDA5NjgxNzJiZjBjNDk2NTIyODVfMzUz_b0eb1eec-da90-4bb2-bf39-15de9b07cca4">P7Y</tyl:SalesCommissionsAmortizationPeriod>
    <us-gaap:CapitalizedContractCostNet
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80My9mcmFnOjk0YzI5OGI1MjBiNTQwOTY4MTcyYmYwYzQ5NjUyMjg1L3RleHRyZWdpb246OTRjMjk4YjUyMGI1NDA5NjgxNzJiZjBjNDk2NTIyODVfMzgz_60b394eb-6b99-4bbf-a8cf-b5dec96fa290"
      unitRef="usd">33600000</us-gaap:CapitalizedContractCostNet>
    <us-gaap:CapitalizedContractCostNet
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80My9mcmFnOjk0YzI5OGI1MjBiNTQwOTY4MTcyYmYwYzQ5NjUyMjg1L3RleHRyZWdpb246OTRjMjk4YjUyMGI1NDA5NjgxNzJiZjBjNDk2NTIyODVfMzkw_e4a50d16-b7b1-431f-a9ca-fafca997c71f"
      unitRef="usd">32300000</us-gaap:CapitalizedContractCostNet>
    <us-gaap:CapitalizedContractCostAmortization
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80My9mcmFnOjk0YzI5OGI1MjBiNTQwOTY4MTcyYmYwYzQ5NjUyMjg1L3RleHRyZWdpb246OTRjMjk4YjUyMGI1NDA5NjgxNzJiZjBjNDk2NTIyODVfNDUw_e8b7a9e9-1f35-4ebd-a2ba-59b56cebf13c"
      unitRef="usd">3100000</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:CapitalizedContractCostAmortization
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80My9mcmFnOjk0YzI5OGI1MjBiNTQwOTY4MTcyYmYwYzQ5NjUyMjg1L3RleHRyZWdpb246OTRjMjk4YjUyMGI1NDA5NjgxNzJiZjBjNDk2NTIyODVfMTA5OTUxMTYyODc4Nw_778af4d4-40f6-4a3e-84c8-49a5e4302a42"
      unitRef="usd">6100000</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:CapitalizedContractCostAmortization
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80My9mcmFnOjk0YzI5OGI1MjBiNTQwOTY4MTcyYmYwYzQ5NjUyMjg1L3RleHRyZWdpb246OTRjMjk4YjUyMGI1NDA5NjgxNzJiZjBjNDk2NTIyODVfMTA5OTUxMTYyODc5Mg_5e3b4f55-cedc-496d-b6d0-9335a07d3687"
      unitRef="usd">2900000</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:CapitalizedContractCostAmortization
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80My9mcmFnOjk0YzI5OGI1MjBiNTQwOTY4MTcyYmYwYzQ5NjUyMjg1L3RleHRyZWdpb246OTRjMjk4YjUyMGI1NDA5NjgxNzJiZjBjNDk2NTIyODVfMTA5OTUxMTYyODgwMA_81cf42cb-1237-4f0b-8994-1559bf3030e8"
      unitRef="usd">5900000</us-gaap:CapitalizedContractCostAmortization>
    <us-gaap:CapitalizedContractCostImpairmentLoss
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80My9mcmFnOjk0YzI5OGI1MjBiNTQwOTY4MTcyYmYwYzQ5NjUyMjg1L3RleHRyZWdpb246OTRjMjk4YjUyMGI1NDA5NjgxNzJiZjBjNDk2NTIyODVfNTA1_250c5a2c-c427-4ffa-810b-2d00ce6a93d9"
      unitRef="usd">0</us-gaap:CapitalizedContractCostImpairmentLoss>
    <us-gaap:CapitalizedContractCostImpairmentLoss
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80My9mcmFnOjk0YzI5OGI1MjBiNTQwOTY4MTcyYmYwYzQ5NjUyMjg1L3RleHRyZWdpb246OTRjMjk4YjUyMGI1NDA5NjgxNzJiZjBjNDk2NTIyODVfNTA1_a901999a-eaf6-4e2c-9fb6-cd84a22d02a5"
      unitRef="usd">0</us-gaap:CapitalizedContractCostImpairmentLoss>
    <us-gaap:OtherAssetsDisclosureTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80Ni9mcmFnOmRhYzZjZTJhMmM4YzQ5MmU4N2I3YTZlNDVkNmIyMmUwL3RleHRyZWdpb246ZGFjNmNlMmEyYzhjNDkyZTg3YjdhNmU0NWQ2YjIyZTBfMjQzOQ_1fe5caa0-0ee0-459e-bdc4-a07bd90c534d">Other Assets&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of June&#160;30, 2021, we have $130.3 million in investment grade corporate and municipal bonds with varying maturity dates through 2026. We intend to hold these bonds to maturity and have classified them as such. It is not more likely than not that we will be required to sell these bonds before recovery of their amortized costs. We believe cost approximates fair value given the portfolio consists of fixed income and high credit investments. The fair values of these securities are considered Level II as they are based on inputs from quoted prices in markets that are not active or other observable market data. These investments are presented at amortized cost and are included in short-term investments and non-current investments in the accompanying condensed consolidated balance sheets. As of June&#160;30, 2021, we have an accrued interest receivable balance of approximately $663,000 which is included in accounts receivable, net. We do not measure an allowance for credit losses for accrued interest receivables. We record any losses within the maturity period of the investment and any write-offs to accrued interest receivables are recorded as a reduction to interest income in the period of the loss. During the three and six months ended June&#160;30, 2021, we have recorded no credit losses for accrued interest receivables. Interest income and amortization of discounts and premiums are included in other (expense) income, net in the accompanying condensed consolidated statements of income.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In 2020, we purchased $10 million in common stock representing an 18% interest in BFTR, LLC., a wholly owned subsidiary of Bison Capital Partners V L.P. BFTR, LLC, a privately held Australian company specializing in digitizing the spoken word in court and legal proceedings. The investment in common stock is accounted under the cost method because we do not have the ability to exercise significant influence over the investee and the securities do not have readily determinable fair values. Our investment is carried at cost less any impairment write-downs. Annually, our cost method investments are assessed for impairment. We do not reassess the fair value of cost method investments if there are no identified events or changes in circumstances that may have a significant adverse effect on the fair value of the investments. No events or changes have occurred during the period that require reassessment. This investment is included in other non-current assets in the accompanying condensed consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;</us-gaap:OtherAssetsDisclosureTextBlock>
    <us-gaap:HeldToMaturitySecurities
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80Ni9mcmFnOmRhYzZjZTJhMmM4YzQ5MmU4N2I3YTZlNDVkNmIyMmUwL3RleHRyZWdpb246ZGFjNmNlMmEyYzhjNDkyZTg3YjdhNmU0NWQ2YjIyZTBfNDA_dd5ada49-48cc-480d-be41-600722574384"
      unitRef="usd">130300000</us-gaap:HeldToMaturitySecurities>
    <us-gaap:InterestReceivable
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80Ni9mcmFnOmRhYzZjZTJhMmM4YzQ5MmU4N2I3YTZlNDVkNmIyMmUwL3RleHRyZWdpb246ZGFjNmNlMmEyYzhjNDkyZTg3YjdhNmU0NWQ2YjIyZTBfODM3_91e37e19-d6bc-47a9-b280-2e00a83b4e88"
      unitRef="usd">663000</us-gaap:InterestReceivable>
    <us-gaap:ProvisionForOtherCreditLosses
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80Ni9mcmFnOmRhYzZjZTJhMmM4YzQ5MmU4N2I3YTZlNDVkNmIyMmUwL3RleHRyZWdpb246ZGFjNmNlMmEyYzhjNDkyZTg3YjdhNmU0NWQ2YjIyZTBfMTIwOQ_2b7fd4ce-b511-4bf2-8456-1eee8e57e3b3"
      unitRef="usd">0</us-gaap:ProvisionForOtherCreditLosses>
    <us-gaap:ProvisionForOtherCreditLosses
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80Ni9mcmFnOmRhYzZjZTJhMmM4YzQ5MmU4N2I3YTZlNDVkNmIyMmUwL3RleHRyZWdpb246ZGFjNmNlMmEyYzhjNDkyZTg3YjdhNmU0NWQ2YjIyZTBfMTIwOQ_c555c423-fe92-46f8-8a61-7d71c7a1afd7"
      unitRef="usd">0</us-gaap:ProvisionForOtherCreditLosses>
    <us-gaap:PaymentsToAcquireEquityMethodInvestments
      contextRef="icc669e16a2144d46a68e0463467b8c6d_D20200101-20201231"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80Ni9mcmFnOmRhYzZjZTJhMmM4YzQ5MmU4N2I3YTZlNDVkNmIyMmUwL3RleHRyZWdpb246ZGFjNmNlMmEyYzhjNDkyZTg3YjdhNmU0NWQ2YjIyZTBfMTQ0MA_fdf9e5dd-bec2-4af0-bfde-ad7bf970d5ae"
      unitRef="usd">10000000</us-gaap:PaymentsToAcquireEquityMethodInvestments>
    <us-gaap:EquityMethodInvestmentOwnershipPercentage
      contextRef="i44e195b1a84f4a71b6fcda7ab87e8e91_I20201231"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80Ni9mcmFnOmRhYzZjZTJhMmM4YzQ5MmU4N2I3YTZlNDVkNmIyMmUwL3RleHRyZWdpb246ZGFjNmNlMmEyYzhjNDkyZTg3YjdhNmU0NWQ2YjIyZTBfMTQ3NA_1f5a1a8d-2cb2-45c7-bc61-76be025848ca"
      unitRef="number">0.18</us-gaap:EquityMethodInvestmentOwnershipPercentage>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfODUyNQ_1deeba1f-5ecc-4fa6-b255-d81d4d6b36ed">Debt&lt;div style="margin-bottom:9pt;margin-top:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;2021 Credit Agreement &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In connection with the completion of the acquisition of NIC on the Closing Date, the Company, as borrower, entered into a new $1.4 billion Credit Agreement (the &#x201c;2021 Credit Agreement&#x201d;) with the various lenders party thereto and Wells Fargo Bank, National Association, as Administrative Agent, Swingline Lender, and Issuing Lender.  The 2021 Credit Agreement provides for (1) a senior unsecured revolving credit facility in an aggregate principal amount of up to $500 million, including sub-facilities for standby letters of credit and swingline loans (the &#x201c;Revolving Credit Facility&#x201d;), (2) an amortizing five-year term loan in the aggregate amount of $600 million (the &#x201c;Term Loan A-1&#x201d;), and (3) a non-amortizing three-year term loan in the aggregate amount of $300 million (the &#x201c;Term Loan A-2&#x201d;) and, together (the &#x201c;Term Loans&#x201d;).  The 2021 Credit Agreement matures on April&#160;20, 2026, and the loans may be prepaid at any time, without premium or penalty, subject to certain minimum amounts and payment of any LIBOR breakage costs.  In addition to the required amortization payments on the Term Loan  A-1 of 5% annually, certain mandatory quarterly prepayments of the Term Loans and the Revolving Credit Facility will be required (i) upon the issuance or incurrence of additional debt not otherwise permitted under the 2021 Credit Agreement and (ii) upon the occurrence of certain asset sales and insurance and condemnation recoveries, subject to certain thresholds, baskets, and reinvestment provisions as provided in the 2021 Credit Agreement. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Borrowings under the Revolving Credit Facility and the Term Loan A-1 bear interest, at the Company&#x2019;s option, at a per annum rate of either (1) the Administrative Agent&#x2019;s prime commercial lending rate (subject to certain higher rate determinations) (the &#x201c;Base Rate&#x201d;) plus a margin of 0.125% to 0.75% or (2) the one-, three-, six-, or, subject to approval by all lenders, twelve-month LIBOR rate plus a margin of 1.125% to 1.75%.  The Term Loan A-2 bears interest, at the Company&#x2019;s option, at a per annum rate of either (1) the Base Rate plus a margin of 0% to 0.5% or (2) the one-, three-, or six-, or, subject to approval by all lenders, twelve-month LIBOR rate plus a margin of 0.875% to 1.50%.  The margin in each case is based upon the Company&#x2019;s total net leverage ratio, as determined pursuant to the 2021 Credit Agreement. The 2021 Credit Agreement has customary benchmark replacement language with respect to the replacement of LIBOR once LIBOR becomes unavailable.  In addition to paying interest on the outstanding principal of loans under the Revolving Credit Facility, the Company is required to pay a commitment fee on the average daily unused portion of the Revolving Credit Facility, initially 0.25% per annum, ranging from 0.15% to 0.30% based upon the Company&#x2019;s total net leverage ratio. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The net proceeds from the borrowings under the 2021 Credit Agreement were $1.1&#160;billion, net of debt discounts of $7.2 million and debt issuance costs of $4.9 million and $6.4 million of commitment fees paid related to the terminated $1.6&#160;billion unsecured bridge loan facility. On the Closing Date, the Company paid approximately $2.3&#160;billion in cash for the purchase of NIC. The Term Loans of $900&#160;million and a portion of the proceeds of the Revolving Credit Facility, in the amount of $250&#160;million, together with cash available to the Company of $609&#160;million and the net proceeds of its Convertible Senior Notes of $594&#160;million, were used to complete the acquisition and pay fees and expenses in connection with the acquisition and the 2021 Credit Agreement. The remaining portion of the Revolving Credit Facility may be used for working capital requirements, acquisitions, and capital expenditures of the Company and its subsidiaries. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The 2021 Credit Agreement requires us to maintain certain financial ratios and other financial conditions and prohibits us from making certain investments, advances, cash dividends or loans, and limits incurrence of additional indebtedness and liens. As of June&#160;30, 2021, we were in compliance with those covenants.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the Company's total outstanding borrowings related to the 2021 Credit Agreement (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.990%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.163%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.506%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.557%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.084%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Maturity Date&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revolving Credit Facility &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;April 20, 2026&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Term Loan A-1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;600,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;April 20, 2026&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Term Loan A-2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;300,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;April 20, 2024&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total borrowings under the 2021 Credit Agreement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;965,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: unamortized debt discount and debt issuance costs related term loans&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,441)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total borrowings, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;957,559&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: current portion of debt&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(30,000)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Carrying value of long-term debt as of June&#160;30, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;927,559&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The carrying amount is the par value of the Revolving Credit Facility and Term Loans less the debt discount and debt issuance costs that are amortized to interest expense using the effective interest method over the term of the Term Loans. Interest expense is included in other (expense) income, net in the accompanying condensed consolidated statements of income.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The effective interest rate for the borrowings under the 2021 Credit Agreement is 1.79% as of June&#160;30, 2021. The following sets forth the interest expense recognized related to the borrowings under the 2021 Credit Agreement included in other (expense) income, net in the accompanying condensed consolidated statements of income (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.175%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.030%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.568%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.179%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.028%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.495%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contractual interest expense - Revolving Credit Facility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(534)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(534)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contractual interest expense - Term Loans&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,660)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,660)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of debt discount and debt issuance costs &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(531)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(531)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,725)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,725)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of June&#160;30, 2021, we had $65.0&#160;million in outstanding borrowings under the 2021 Revolving Credit Facility, and our available borrowing capacity was $435.0&#160;million.  In addition, as of June&#160;30, 2021, we had one outstanding standalone letter of credit totaling $2.0 million. The letter of credit guarantees our performance under a client contract and expires in the third quarter of 2021.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Terminated Debt Agreements&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:112%"&gt;The 2021 Credit Agreement replaces and terminates the Company&#x2019;s previous $400&#160;million credit facility pursuant to the Credit Agreement dated as of September 30, 2019 (the &#x201c;2019 Credit Agreement&#x201d;). The Company&#x2019;s previously announced commitment from Goldman Sachs Bank USA for a $1.6&#160;billion 364-day senior unsecured bridge loan facility also terminated on the Closing Date. Below summarizes the interest expense and related amortization of debt issuance costs associated with the terminated debt agreements incurred through the Closing Date, included in other (expense) income, net in the accompanying condensed consolidated statements of income (in thousands). &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.175%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.030%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.568%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.179%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.028%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.495%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contractual interest expense - 2019 Credit Agreement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(163)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(313)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unsecured bridge loan facility commitment fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,407)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,407)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of debt issuance costs &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,340)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,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="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,910)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,209)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Convertible Senior Notes due 2026&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On March 9, 2021, we issued 0.25% Convertible Senior Notes due 2026 in the aggregate principal amount of $600 million  (&#x201c;the Convertible Senior Notes&#x201d; or &#x201c;the Notes&#x201d;). The Convertible Senior Notes were issued pursuant to, and are governed by, an indenture (the &#x201c;Indenture&#x201d;), dated as of March 9, 2021, with U.S. Bank National Association, as trustee. The net proceeds from the issuance of the Convertible Senior Notes were $591.4 million, net of initial purchasers&#x2019; discounts of $6.0&#160;million and debt issuance costs of $2.6&#160;million.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Convertible Senior Notes are senior, unsecured obligations and are (i) equal in right of payment with our future senior, unsecured indebtedness; (ii) senior in right of payment to our future indebtedness that is expressly subordinated to the Notes; (iii) effectively subordinated to our future secured indebtedness, to the extent of the value of the collateral securing that indebtedness; and (iv) structurally subordinated to all future indebtedness and other liabilities, including trade payables, and (to the extent we are not a holder thereof) preferred equity, if any, of our subsidiaries.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Convertible Senior Notes accrue interest at a rate of 0.25% per annum, payable semi-annually in arrears on March 15 and September 15 of each year, beginning on September&#160;15, 2021. The Convertible Senior Notes mature on March&#160;15, 2026, unless earlier repurchased, redeemed or converted. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Before September&#160;15, 2025, holders of the Convertible Senior Notes have the right to convert their Convertible Senior Notes only upon the occurrence of certain events. Under the terms of indenture, the Convertible Senior Notes are convertible into common stock of Tyler Technologies, Inc. (referred to as &#x201c;our common stock&#x201d; herein) at the following times or circumstances:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;during any calendar quarter commencing after the calendar quarter ended June 30, 2021, if the last reported sale price per share of our common stock exceeds 130% of the conversion price for each of at least 20 trading days (whether or not consecutive) during the 30 consecutive trading days ending on, and including, the last trading day of the immediately preceding calendar quarter;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;during the five consecutive business days immediately after any five consecutive trading day period (such five consecutive trading day period, the &#x201c;Measurement Period&#x201d;) if the trading price per $1,000 principal amount of Convertible Senior Notes, as determined following a request by their holder in accordance with the procedures in the indenture, for each trading day of the Measurement Period was less than 98% of the product of the last reported sale price per share of our common stock on such trading day and the conversion rate on such trading day;&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;upon the occurrence of certain corporate events or distributions on our common stock, including but not limited to a &#x201c;Fundamental Change&#x201d; (as defined in the indenture governing the Notes);&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;upon the occurrence of specified corporate events; or&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt;padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;on or after September&#160;15, 2025, until the close of business on the second scheduled trading day immediately preceding the maturity date, March&#160;15, 2026.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;With certain exceptions, upon a change of control or other fundamental change (both as defined in the indenture governing the Convertible Senior Notes), the holders of the Convertible Senior Notes may require us to repurchase all or part of the principal amount of the Convertible Senior Notes at a repurchase price equal to 100% of the principal amount of the Convertible Senior Notes, plus any accrued and unpaid interest to, but excluding, the redemption date. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of June&#160;30, 2021, none of the conditions allowing holders of the Convertible Senior Notes to convert have been met. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;From and including September&#160;15, 2025, holders of the Convertible Senior Notes may convert their Convertible Senior Notes at any time at their election until the close of business on the second scheduled trading day immediately before the maturity date. We will settle any conversions of the Convertible Senior Notes either entirely in cash or in a combination of cash and shares of common stock, at our election. However, upon conversion of any Convertible Senior Notes, the conversion value, which will be determined over an &#x201c;Observation Period&#x201d; (as defined in the Indenture) consisting of 30 trading days, will be paid in cash up to at least the principal amount of the Notes being converted. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The initial conversion rate is 2.0266 shares of common stock per $1,000 principal amount of Convertible Senior Notes, which represents an initial conversion price of approximately $493.44 per share of common stock. The conversion rate and conversion price will be subject to adjustment upon the occurrence of certain events. In addition, if certain corporate events that constitute a &#x201c;Make-Whole Fundamental Change&#x201d; (as defined in the Indenture) occur, then the conversion rate will, in certain circumstances, be increased for a specified period of time.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The Convertible Senior Notes are redeemable, in whole or in part, at our option at any time, and from time to time, on or after March 15, 2024 and on or before the 30th scheduled trading day immediately before the maturity date, at a cash redemption price equal to the principal amount of the Notes to be redeemed, plus accrued and unpaid interest, if any, up to, but excluding, the redemption date, but only if the last reported sale price per share of our common stock exceeds 130% of the conversion price of the Notes on (i) each of at least 20 trading days, whether or not consecutive, during the 30 consecutive trading days ending on, and including, the trading day immediately before the date we send the related redemption notice; and (ii) the trading day immediately before the date we send such notice. In addition, calling any Note for redemption constitutes a Make-Whole Fundamental Change with respect to that Note, in which case the conversion rate applicable to the conversion of that Note will be increased in certain circumstances if it is converted after it is called for redemption.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The net carrying value of the Convertible Senior Notes, net of unamortized debt discount and unamortized debt issuance costs were as follows (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:90.058%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:75.361%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.978%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Convertible Senior Notes due 2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;600,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: unamortized debt discount and debt issuance costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,094)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Carrying value as of June&#160;30, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;591,906&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The carrying amount is the par value of the Convertible Senior Notes less the debt discount and debt issuance costs that are amortized to interest expense using the effective interest method over the term of the Convertible Senior Notes. Interest expense is included in other (expense) income, net in the accompanying condensed consolidated statements of income.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of June&#160;30, 2021, the effective interest rate as for the Convertible Senior Notes is 0.54%. The following sets forth the interest expense recognized related to the Convertible Senior Notes (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.397%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.716%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.591%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.729%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.065%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.199%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contractual interest expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(375)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(458)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of debt discount and debt issuance costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(428)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(523)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(803)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(981)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Below are the components of other (expense) income, net included in the accompanying condensed consolidated statements of income:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:53.724%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.525%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.987%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.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="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest expense, including amortization of debt discounts and debt issuance costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12,438)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(251)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12,915)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(502)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;492&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;752&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,202&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,244&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(253)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(31)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(398)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(282)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total other (expense) income including interest expense, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12,199)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;470&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12,111)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,460&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i6e1fbcd3ff3d4a25a5b07846b2298466_I20210421"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfMTA5OTUxMTY0MzYyOA_3e219ba6-5b33-4c41-900f-7377f038e242"
      unitRef="usd">1400000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i821a619274c940688f66178981b14df2_I20210421"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfMTA5OTUxMTY0MzkyNg_8d550bdc-b41d-4b56-8110-144c03751dbc"
      unitRef="usd">500000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentTerm
      contextRef="ibbe4f7a645bb4225910dbade42d30e94_D20210421-20210421"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfNDk0NzgwMjM1MDE4NQ_179b3a57-66b8-4828-acd4-7436298e73a5">P5Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="ifaf2080642fa4d02a26ccf3aac07941b_I20210421"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfMTA5OTUxMTY0NDEwNQ_fd03d87d-b9a4-4533-a63d-f65c0a653d27"
      unitRef="usd">600000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentTerm
      contextRef="iba98171af35148c0b9e917a14cb1b949_D20210421-20210421"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfNDk0NzgwMjM1MDE4Ng_ff40ca22-539f-4931-8f77-c9a26eed387b">P3Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="i8a54673edda945f980e3a68eb6adfab3_I20210421"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfMTA5OTUxMTY0NDIwMw_8662da68-3360-46d6-8700-f22ef45e7f39"
      unitRef="usd">300000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <tyl:DebtInstrumentRequiredQuarterlyAmortizationPrepaymentFee
      contextRef="ifaf2080642fa4d02a26ccf3aac07941b_I20210421"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfNDk0NzgwMjM1MDA0MA_46945c81-9d8f-46a5-a837-25ef0414482c"
      unitRef="number">0.05</tyl:DebtInstrumentRequiredQuarterlyAmortizationPrepaymentFee>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i65cdee7faa1946a282feff78e1cb021a_D20210421-20210421"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfMTA5OTUxMTY0NTYxOA_76682b06-43b2-414f-8046-e2d44617ae6f"
      unitRef="number">0.00125</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="icb45d67a817f4a18812d3306738ada65_D20210421-20210421"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfMTA5OTUxMTY0NTYxOA_8030acd4-ae0c-4f2b-9a96-80769018b798"
      unitRef="number">0.00125</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="ibb6515563a49442ea08ae574d09eff93_D20210421-20210421"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfMTA5OTUxMTY0NTYyNQ_233699b0-ebb9-4690-8d30-776f2deaff7f"
      unitRef="number">0.0075</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i49c6b01b9eb5416890a6ea49526181f0_D20210421-20210421"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfMTA5OTUxMTY0NTYyNQ_bea74d62-a2c7-4862-bf95-c6b8543eaf29"
      unitRef="number">0.0075</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="id690a8e9dee4452f8459706ec07656c8_D20210421-20210421"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfMTA5OTUxMTY0NTc0MQ_0517cf03-5438-4f7f-a84f-0bda3b35785a"
      unitRef="number">0.01125</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="icf97c4e2219740eaade9a365cb650e21_D20210421-20210421"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfMTA5OTUxMTY0NTc0MQ_dfdfb697-d55d-4c08-94c0-375f1c6bdf0d"
      unitRef="number">0.01125</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i43f2628f38c54449ac9f1f014bcc07cc_D20210421-20210421"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfMTA5OTUxMTY0NTc0OA_4fda6705-e6c5-44ac-b1a7-560277e628d6"
      unitRef="number">0.0175</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="ia8f6fbb568f244e688cdf5806803cdc2_D20210421-20210421"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfMTA5OTUxMTY0NTc0OA_60b6aa72-5d90-4929-b7dc-2c2ab40cd39b"
      unitRef="number">0.0175</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i24ec9b89f5624b3fa73aa0737bd820f8_D20210421-20210421"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfMTA5OTUxMTY0NTg4Mg_e663b484-1b68-4bee-ab67-83d466415274"
      unitRef="number">0</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i40f493033bd9463ab83e44971a70b692_D20210421-20210421"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfMTA5OTUxMTY0NTg4OQ_868f1e3a-7d63-4783-b021-2f3348c7fd7f"
      unitRef="number">0.005</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="i9ea274bacb92415c842b38dbbeefdcaf_D20210421-20210421"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfNDk0NzgwMjM1MDA1OA_ebf43849-5440-41a4-8f4d-59a254afac53"
      unitRef="number">0.00875</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="ie9c35c2dc32048bea72b59adf25e0b89_D20210421-20210421"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfNDk0NzgwMjM1MDA2Ng_1b67768c-6457-48d2-93ed-0b77f6f3233c"
      unitRef="number">0.0150</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="ib552eb8ab8764f51ab48a834e2ca90de_D20210421-20210421"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfNDk0NzgwMjM1MDA4Nw_c67892fb-7f85-48c0-8ad9-b24ff61e30e4"
      unitRef="number">0.0025</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="ife6a2b868836480a9464667e56cf2558_D20210421-20210421"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfNDk0NzgwMjM1MDA3Mw_c05b076c-7c1d-4ada-82ca-ee4ccd95b05e"
      unitRef="number">0.0015</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <us-gaap:LineOfCreditFacilityCommitmentFeePercentage
      contextRef="ic5ccf4c0b8d447ecb5502039f9021c4f_D20210421-20210421"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfNDk0NzgwMjM1MDA4MA_93e9c64e-bcd5-4945-8eac-2a32d5c32f5a"
      unitRef="number">0.0030</us-gaap:LineOfCreditFacilityCommitmentFeePercentage>
    <us-gaap:ProceedsFromDebtNetOfIssuanceCosts
      contextRef="i9b1158db6bde4a598c72cd59b701f09b_D20210421-20210421"
      decimals="-8"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfNDM5ODA0NjUzOTI1NQ_8b1d942d-5a85-4560-b1b1-ee5ccdd55a82"
      unitRef="usd">1100000000</us-gaap:ProceedsFromDebtNetOfIssuanceCosts>
    <us-gaap:DebtInstrumentUnamortizedDiscount
      contextRef="i6e1fbcd3ff3d4a25a5b07846b2298466_I20210421"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfNDM5ODA0NjUzOTI4NQ_1689a75f-357b-43b1-8331-ad25b65a0af9"
      unitRef="usd">7200000</us-gaap:DebtInstrumentUnamortizedDiscount>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="i6e1fbcd3ff3d4a25a5b07846b2298466_I20210421"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfNDM5ODA0NjU0MzI1Nw_b6d95960-8194-44f3-8c8f-d53b1320ea38"
      unitRef="usd">4900000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:DebtInstrumentUnusedBorrowingCapacityFee
      contextRef="i420a08f6a6ba4fe8a006fa14aa1c1eeb_D20210421-20210421"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfNDM5ODA0NjU0MzI3Mw_55a1b36f-3f27-44d5-b758-e86e506b356d"
      unitRef="usd">6400000</us-gaap:DebtInstrumentUnusedBorrowingCapacityFee>
    <us-gaap:ExtinguishmentOfDebtAmount
      contextRef="i420a08f6a6ba4fe8a006fa14aa1c1eeb_D20210421-20210421"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfMjc0ODc3OTEwMjE4NQ_b0ea384b-4eb2-49bf-941b-d44901586e64"
      unitRef="usd">1600000000</us-gaap:ExtinguishmentOfDebtAmount>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i88cd23938c234c3b9914ab6c7887859c_D20210421-20210421"
      decimals="-8"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfNDk0NzgwMjM1MDA5NA_80b3e242-72a8-4efa-b9d3-9041b3d69852"
      unitRef="usd">2300000000</us-gaap:PaymentsToAcquireBusinessesGross>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="i17168141b5344f19b10bca68da3a99cf_D20210421-20210421"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfMTA5OTUxMTY0NjcyNg_242123be-bf15-4c38-ac85-cb401b4ea637"
      unitRef="usd">900000000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:ProceedsFromLinesOfCredit
      contextRef="ib552eb8ab8764f51ab48a834e2ca90de_D20210421-20210421"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfNDk0NzgwMjM1MDEyMg_a35ef8a8-79ea-40bf-b811-dc654a0497a8"
      unitRef="usd">250000000</us-gaap:ProceedsFromLinesOfCredit>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="i723db142ba6544888efe6c15a2025fb6_I20210421"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfNDk0NzgwMjM1MDEwOA_6b05747a-017e-44f4-9e84-68939d29388d"
      unitRef="usd">609000000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:ProceedsFromDebtNetOfIssuanceCosts
      contextRef="ib6d553f6236b4a90b30fe94aa7b8f4ec_D20210101-20210630"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfNDk0NzgwMjM1MDEzNg_896c296f-a220-4518-935a-bc31d5ee8e7b"
      unitRef="usd">594000000</us-gaap:ProceedsFromDebtNetOfIssuanceCosts>
    <us-gaap:ScheduleOfDebtTableTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfNDk0NzgwMjM1MDE0OQ_0c982609-8da1-4828-8e9b-f9a6037313cb">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the Company's total outstanding borrowings related to the 2021 Credit Agreement (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:96.491%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:62.990%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.163%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:14.506%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.557%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.084%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Maturity Date&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revolving Credit Facility &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;65,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;April 20, 2026&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Term Loan A-1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;600,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;April 20, 2026&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Term Loan A-2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;300,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;April 20, 2024&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total borrowings under the 2021 Credit Agreement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;965,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: unamortized debt discount and debt issuance costs related term loans&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,441)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total borrowings, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;957,559&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: current portion of debt&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(30,000)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Carrying value of long-term debt as of June&#160;30, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;927,559&#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:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The effective interest rate for the borrowings under the 2021 Credit Agreement is 1.79% as of June&#160;30, 2021. The following sets forth the interest expense recognized related to the borrowings under the 2021 Credit Agreement included in other (expense) income, net in the accompanying condensed consolidated statements of income (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.175%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.030%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.568%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.179%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.028%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.495%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contractual interest expense - Revolving Credit Facility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(534)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(534)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contractual interest expense - Term Loans&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,660)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,660)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of debt discount and debt issuance costs &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(531)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(531)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,725)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(3,725)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;Below summarizes the interest expense and related amortization of debt issuance costs associated with the terminated debt agreements incurred through the Closing Date, included in other (expense) income, net in the accompanying condensed consolidated statements of income (in thousands). &lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:95.175%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.030%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.568%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.179%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.028%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.495%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contractual interest expense - 2019 Credit Agreement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(163)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(313)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Unsecured bridge loan facility commitment fee&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,407)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(6,407)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of debt issuance costs &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,340)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,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="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,910)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,209)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The net carrying value of the Convertible Senior Notes, net of unamortized debt discount and unamortized debt issuance costs were as follows (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:90.058%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:75.361%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.261%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:20.978%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Convertible Senior Notes due 2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;600,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: unamortized debt discount and debt issuance costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,094)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Carrying value as of June&#160;30, 2021&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;591,906&#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 style="margin-top:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The carrying amount is the par value of the Convertible Senior Notes less the debt discount and debt issuance costs that are amortized to interest expense using the effective interest method over the term of the Convertible Senior Notes. Interest expense is included in other (expense) income, net in the accompanying condensed consolidated statements of income.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of June&#160;30, 2021, the effective interest rate as for the Convertible Senior Notes is 0.54%. The following sets forth the interest expense recognized related to the Convertible Senior Notes (in thousands):&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.397%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:61.716%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.591%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.729%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.065%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.199%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Contractual interest expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(375)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(458)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of debt discount and debt issuance costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(428)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(523)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(803)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(981)&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:ScheduleOfDebtTableTextBlock>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="ie8ac86df79e742a7bf2f56ffcc07df0f_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOjZkZTBkM2Q5OGUzODQ3MjBiMjM5MzQxZTAwNDliNGQyL3RhYmxlcmFuZ2U6NmRlMGQzZDk4ZTM4NDcyMGIyMzkzNDFlMDA0OWI0ZDJfMS0yLTEtMS0xMjkw_274ff188-3f94-409c-b69c-7d038cc0f546"
      unitRef="usd">65000000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i0e32cdee57ce47318cb7145ae9729a01_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOjZkZTBkM2Q5OGUzODQ3MjBiMjM5MzQxZTAwNDliNGQyL3RhYmxlcmFuZ2U6NmRlMGQzZDk4ZTM4NDcyMGIyMzkzNDFlMDA0OWI0ZDJfMi0yLTEtMS0yOTQx_ff2289b5-8944-4dcc-bb2f-11dd3306732b"
      unitRef="usd">600000000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i7a2789fb65fa4ad08463700e20016c0f_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOjZkZTBkM2Q5OGUzODQ3MjBiMjM5MzQxZTAwNDliNGQyL3RhYmxlcmFuZ2U6NmRlMGQzZDk4ZTM4NDcyMGIyMzkzNDFlMDA0OWI0ZDJfMi0yLTEtMS0yODM4_96445b91-cb6a-4043-a380-468146e3602d"
      unitRef="usd">300000000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount
      contextRef="i2fe04e6ea42a444c911dc112ecddabbc_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOjZkZTBkM2Q5OGUzODQ3MjBiMjM5MzQxZTAwNDliNGQyL3RhYmxlcmFuZ2U6NmRlMGQzZDk4ZTM4NDcyMGIyMzkzNDFlMDA0OWI0ZDJfNC0yLTEtMS0zMjYw_4fd7b430-75a0-4b8e-a26f-565826150d62"
      unitRef="usd">965000000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOjZkZTBkM2Q5OGUzODQ3MjBiMjM5MzQxZTAwNDliNGQyL3RhYmxlcmFuZ2U6NmRlMGQzZDk4ZTM4NDcyMGIyMzkzNDFlMDA0OWI0ZDJfMy0yLTEtMS0xMjkw_4dcb085f-4742-429e-9f49-bec07518f92d"
      unitRef="usd">7441000</us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet>
    <us-gaap:LongTermDebt
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOjZkZTBkM2Q5OGUzODQ3MjBiMjM5MzQxZTAwNDliNGQyL3RhYmxlcmFuZ2U6NmRlMGQzZDk4ZTM4NDcyMGIyMzkzNDFlMDA0OWI0ZDJfNi0yLTEtMS0zMjYw_40e338ce-0891-47de-8b9e-e133cbdeb334"
      unitRef="usd">957559000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebtCurrent
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOjZkZTBkM2Q5OGUzODQ3MjBiMjM5MzQxZTAwNDliNGQyL3RhYmxlcmFuZ2U6NmRlMGQzZDk4ZTM4NDcyMGIyMzkzNDFlMDA0OWI0ZDJfNi0yLTEtMS0yODMz_88ecbac0-0259-4267-b369-29c22c4ce068"
      unitRef="usd">30000000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtNoncurrent
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOjZkZTBkM2Q5OGUzODQ3MjBiMjM5MzQxZTAwNDliNGQyL3RhYmxlcmFuZ2U6NmRlMGQzZDk4ZTM4NDcyMGIyMzkzNDFlMDA0OWI0ZDJfNC0yLTEtMS0xNTE4_7c04859d-f0d9-432d-836f-2fca7b58ca2c"
      unitRef="usd">927559000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i2fe04e6ea42a444c911dc112ecddabbc_I20210630"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfMTA5OTUxMTY0NzY4NQ_fc176af9-bad5-4fdb-b51f-8332337c0b02"
      unitRef="number">0.0179</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:InterestExpenseDebt
      contextRef="icf78ac07b611465cbd7bc9ce79a9935e_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmY4Mzk1YzFhZjY5ZDRmZGE5OWNlMWM5MDk4NjAxZmY5L3RhYmxlcmFuZ2U6ZjgzOTVjMWFmNjlkNGZkYTk5Y2UxYzkwOTg2MDFmZjlfMi0yLTEtMS0zMDE5_e4b78a17-72bb-4579-8f80-1a612d7aa855"
      unitRef="usd">534000</us-gaap:InterestExpenseDebt>
    <us-gaap:InterestExpenseDebt
      contextRef="i67135459693e465baac08e589a3b0faf_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmY4Mzk1YzFhZjY5ZDRmZGE5OWNlMWM5MDk4NjAxZmY5L3RhYmxlcmFuZ2U6ZjgzOTVjMWFmNjlkNGZkYTk5Y2UxYzkwOTg2MDFmZjlfMi00LTEtMS0zMDMy_569a0ae0-5925-40b2-a5d5-42b602d934d3"
      unitRef="usd">534000</us-gaap:InterestExpenseDebt>
    <us-gaap:InterestExpenseDebt
      contextRef="iae7b0ca4ab424da0b545115133e00913_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmY4Mzk1YzFhZjY5ZDRmZGE5OWNlMWM5MDk4NjAxZmY5L3RhYmxlcmFuZ2U6ZjgzOTVjMWFmNjlkNGZkYTk5Y2UxYzkwOTg2MDFmZjlfMi0yLTEtMS0xMjkw_46fe1757-f084-4b08-978c-aad9fbffbbd4"
      unitRef="usd">2660000</us-gaap:InterestExpenseDebt>
    <us-gaap:InterestExpenseDebt
      contextRef="id07f80508cae4ea3be8270e6d4891c77_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmY4Mzk1YzFhZjY5ZDRmZGE5OWNlMWM5MDk4NjAxZmY5L3RhYmxlcmFuZ2U6ZjgzOTVjMWFmNjlkNGZkYTk5Y2UxYzkwOTg2MDFmZjlfMi00LTEtMS0xMjkw_1d41d7d1-1166-4e7d-90f3-0f448a3513cf"
      unitRef="usd">2660000</us-gaap:InterestExpenseDebt>
    <us-gaap:AmortizationOfFinancingCostsAndDiscounts
      contextRef="i384ae00a62fb455db8d999fa3680684e_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmY4Mzk1YzFhZjY5ZDRmZGE5OWNlMWM5MDk4NjAxZmY5L3RhYmxlcmFuZ2U6ZjgzOTVjMWFmNjlkNGZkYTk5Y2UxYzkwOTg2MDFmZjlfNC0yLTEtMS0xMjkw_4f57053b-44e5-49e7-a778-2f915cedcc06"
      unitRef="usd">531000</us-gaap:AmortizationOfFinancingCostsAndDiscounts>
    <us-gaap:AmortizationOfFinancingCostsAndDiscounts
      contextRef="i0a24169965a348bf9c99e90f74018d46_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmY4Mzk1YzFhZjY5ZDRmZGE5OWNlMWM5MDk4NjAxZmY5L3RhYmxlcmFuZ2U6ZjgzOTVjMWFmNjlkNGZkYTk5Y2UxYzkwOTg2MDFmZjlfNC00LTEtMS0xMjkw_693d47c9-ee33-4dea-aaaa-9207d357ec91"
      unitRef="usd">531000</us-gaap:AmortizationOfFinancingCostsAndDiscounts>
    <us-gaap:InterestAndDebtExpense
      contextRef="i384ae00a62fb455db8d999fa3680684e_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmY4Mzk1YzFhZjY5ZDRmZGE5OWNlMWM5MDk4NjAxZmY5L3RhYmxlcmFuZ2U6ZjgzOTVjMWFmNjlkNGZkYTk5Y2UxYzkwOTg2MDFmZjlfNS0yLTEtMS0xNTIw_c9c37202-70bb-4763-9dac-6f92a9ada7c1"
      unitRef="usd">3725000</us-gaap:InterestAndDebtExpense>
    <us-gaap:InterestAndDebtExpense
      contextRef="i0a24169965a348bf9c99e90f74018d46_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmY4Mzk1YzFhZjY5ZDRmZGE5OWNlMWM5MDk4NjAxZmY5L3RhYmxlcmFuZ2U6ZjgzOTVjMWFmNjlkNGZkYTk5Y2UxYzkwOTg2MDFmZjlfNS00LTEtMS0xNTIw_95419fdc-964c-46c8-8da5-38c1702b4c8c"
      unitRef="usd">3725000</us-gaap:InterestAndDebtExpense>
    <us-gaap:LongTermLineOfCredit
      contextRef="ie8ac86df79e742a7bf2f56ffcc07df0f_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfNDM5ODA0NjUzNzU2Mw_bcc33fd2-c92b-4c9e-b1a9-74ae827f7fef"
      unitRef="usd">65000000.0</us-gaap:LongTermLineOfCredit>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="ie8ac86df79e742a7bf2f56ffcc07df0f_I20210630"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfNDM5ODA0NjUzNzU5Mg_b9ce91a3-03b0-43cc-8d55-5cdee2cfab1f"
      unitRef="usd">435000000.0</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:LettersOfCreditOutstandingAmount
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfNDM5ODA0NjUzNzYyMQ_87e4c2a3-eb9d-4776-9c4b-e9b5c8bc30d8"
      unitRef="usd">2000000.0</us-gaap:LettersOfCreditOutstandingAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i86b07fe24b5f43cea0c6e5951bb93123_I20190930"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfNDM5ODA0NjU0MjI2MQ_86635790-9575-4693-8647-457926ad74b1"
      unitRef="usd">400000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i400d1eded40443d1ad9934376ce736d1_I20190930"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfNDM5ODA0NjU0MjI2NQ_6eac57b2-0142-460d-a9db-d845e8734db2"
      unitRef="usd">1600000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:InterestExpenseDebt
      contextRef="ifc43b1fce715464186fd42f2a71731fd_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmFkNzY2NmMxZGI4ZDQ4M2Q5ZjhmYzUxMjNiMDk5NmRiL3RhYmxlcmFuZ2U6YWQ3NjY2YzFkYjhkNDgzZDlmOGZjNTEyM2IwOTk2ZGJfMi0yLTEtMS02NzQy_b13ee28d-d8f5-4610-b280-a7336233faff"
      unitRef="usd">163000</us-gaap:InterestExpenseDebt>
    <us-gaap:InterestExpenseDebt
      contextRef="if17b3f6ab6a34146a61af41ebab7b0af_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmFkNzY2NmMxZGI4ZDQ4M2Q5ZjhmYzUxMjNiMDk5NmRiL3RhYmxlcmFuZ2U6YWQ3NjY2YzFkYjhkNDgzZDlmOGZjNTEyM2IwOTk2ZGJfMi00LTEtMS02NzUx_9c88c70e-a960-4cc5-b429-711947e728a9"
      unitRef="usd">313000</us-gaap:InterestExpenseDebt>
    <us-gaap:DebtInstrumentUnusedBorrowingCapacityFee
      contextRef="id4fc83bba6ce40588f1b3e6e670eed28_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmFkNzY2NmMxZGI4ZDQ4M2Q5ZjhmYzUxMjNiMDk5NmRiL3RhYmxlcmFuZ2U6YWQ3NjY2YzFkYjhkNDgzZDlmOGZjNTEyM2IwOTk2ZGJfMy0yLTEtMS02NzQy_4bd74f8a-2281-447f-bea4-562360dc1c83"
      unitRef="usd">6407000</us-gaap:DebtInstrumentUnusedBorrowingCapacityFee>
    <us-gaap:DebtInstrumentUnusedBorrowingCapacityFee
      contextRef="i5013fee1de764aa2af5b0b88c1da1096_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmFkNzY2NmMxZGI4ZDQ4M2Q5ZjhmYzUxMjNiMDk5NmRiL3RhYmxlcmFuZ2U6YWQ3NjY2YzFkYjhkNDgzZDlmOGZjNTEyM2IwOTk2ZGJfMy00LTEtMS02NzUx_fb561995-ef98-4a91-a455-1a4af56a9f59"
      unitRef="usd">6407000</us-gaap:DebtInstrumentUnusedBorrowingCapacityFee>
    <us-gaap:AmortizationOfFinancingCostsAndDiscounts
      contextRef="if562073dfce74bdeb59d562df7111780_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmFkNzY2NmMxZGI4ZDQ4M2Q5ZjhmYzUxMjNiMDk5NmRiL3RhYmxlcmFuZ2U6YWQ3NjY2YzFkYjhkNDgzZDlmOGZjNTEyM2IwOTk2ZGJfNC0yLTEtMS02NzQy_eda89110-c6eb-4aff-8a53-09b3362ecc88"
      unitRef="usd">1340000</us-gaap:AmortizationOfFinancingCostsAndDiscounts>
    <us-gaap:AmortizationOfFinancingCostsAndDiscounts
      contextRef="idfcfd57268024ae5b7ff4a0e969a15a4_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmFkNzY2NmMxZGI4ZDQ4M2Q5ZjhmYzUxMjNiMDk5NmRiL3RhYmxlcmFuZ2U6YWQ3NjY2YzFkYjhkNDgzZDlmOGZjNTEyM2IwOTk2ZGJfNC00LTEtMS02NzUx_5d8496b4-496b-4983-a6e1-6273b0945a1d"
      unitRef="usd">1489000</us-gaap:AmortizationOfFinancingCostsAndDiscounts>
    <us-gaap:InterestAndDebtExpense
      contextRef="if562073dfce74bdeb59d562df7111780_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmFkNzY2NmMxZGI4ZDQ4M2Q5ZjhmYzUxMjNiMDk5NmRiL3RhYmxlcmFuZ2U6YWQ3NjY2YzFkYjhkNDgzZDlmOGZjNTEyM2IwOTk2ZGJfNS0yLTEtMS02NzYy_9dbbe571-b14c-465a-9b34-6bc3aa076406"
      unitRef="usd">7910000</us-gaap:InterestAndDebtExpense>
    <us-gaap:InterestAndDebtExpense
      contextRef="idfcfd57268024ae5b7ff4a0e969a15a4_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmFkNzY2NmMxZGI4ZDQ4M2Q5ZjhmYzUxMjNiMDk5NmRiL3RhYmxlcmFuZ2U6YWQ3NjY2YzFkYjhkNDgzZDlmOGZjNTEyM2IwOTk2ZGJfNS00LTEtMS02NzYy_c0e1c535-535f-44c5-9060-ef5a4e875a9e"
      unitRef="usd">8209000</us-gaap:InterestAndDebtExpense>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i763dc8b6264846c6923fef6a3ded73ec_I20210309"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfMTQzMQ_dc49f1e3-11a3-4ba5-be7f-1aa2642d17f0"
      unitRef="number">0.0025</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i763dc8b6264846c6923fef6a3ded73ec_I20210309"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfMTUwNQ_ca4d3b2a-277d-422a-8a74-c8e1252b2a55"
      unitRef="usd">600000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:ProceedsFromDebtNetOfIssuanceCosts
      contextRef="ie9977cc5076947dcae42414e45f7875b_D20210309-20210309"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfMTgxMw_4768c57a-1d4c-45d0-9fab-b2d95e587e7f"
      unitRef="usd">591400000</us-gaap:ProceedsFromDebtNetOfIssuanceCosts>
    <us-gaap:DebtInstrumentUnamortizedDiscount
      contextRef="i763dc8b6264846c6923fef6a3ded73ec_I20210309"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfMTg1Nw_f7a5fbac-8eab-4ef6-a1f8-72d4545f2b87"
      unitRef="usd">6000000.0</us-gaap:DebtInstrumentUnamortizedDiscount>
    <us-gaap:DeferredFinanceCostsNet
      contextRef="i763dc8b6264846c6923fef6a3ded73ec_I20210309"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfMTg4Nw_acabdd4b-0eeb-4056-aba9-385a9f2a9341"
      unitRef="usd">2600000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="i763dc8b6264846c6923fef6a3ded73ec_I20210309"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfMjU0OA_dc49f1e3-11a3-4ba5-be7f-1aa2642d17f0"
      unitRef="number">0.0025</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <tyl:DebtConversionPercentageOfConversionPriceLimitationTrigger
      contextRef="i763dc8b6264846c6923fef6a3ded73ec_I20210309"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfMzI2NA_3967a503-d79a-41a5-a072-e5a832d948d1"
      unitRef="number">1.30</tyl:DebtConversionPercentageOfConversionPriceLimitationTrigger>
    <us-gaap:DebtInstrumentConvertibleThresholdTradingDays
      contextRef="ie9977cc5076947dcae42414e45f7875b_D20210309-20210309"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfMzMxMg_4e7f9884-ca0e-416f-b59e-b925169d7df3"
      unitRef="trading_day">20</us-gaap:DebtInstrumentConvertibleThresholdTradingDays>
    <tyl:ObservationPeriod
      contextRef="ie9977cc5076947dcae42414e45f7875b_D20210309-20210309"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfMzM2OA_2f0bceca-7e32-42e5-bc1e-075dafce28be"
      unitRef="trading_day">30</tyl:ObservationPeriod>
    <us-gaap:DebtInstrumentRedemptionPricePercentage
      contextRef="ie9977cc5076947dcae42414e45f7875b_D20210309-20210309"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfMjc0ODc3OTA3Nzk3OQ_a5ea5b56-d74d-4040-97ac-bcd665133367"
      unitRef="number">1</us-gaap:DebtInstrumentRedemptionPricePercentage>
    <tyl:ObservationPeriod
      contextRef="ie9977cc5076947dcae42414e45f7875b_D20210309-20210309"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfNTU2NA_2f0bceca-7e32-42e5-bc1e-075dafce28be"
      unitRef="trading_day">30</tyl:ObservationPeriod>
    <us-gaap:DebtInstrumentConvertibleConversionPrice1
      contextRef="i763dc8b6264846c6923fef6a3ded73ec_I20210309"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfNTg0NQ_4aea09f6-56a5-4f7f-a35d-f0fda1c5d113"
      unitRef="usdPerShare">493.44</us-gaap:DebtInstrumentConvertibleConversionPrice1>
    <tyl:DebtConversionPercentageOfConversionPriceLimitationTrigger
      contextRef="i763dc8b6264846c6923fef6a3ded73ec_I20210309"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfNjY5NA_3967a503-d79a-41a5-a072-e5a832d948d1"
      unitRef="number">1.30</tyl:DebtConversionPercentageOfConversionPriceLimitationTrigger>
    <us-gaap:DebtInstrumentConvertibleThresholdTradingDays
      contextRef="ie9977cc5076947dcae42414e45f7875b_D20210309-20210309"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfNjc1OA_4e7f9884-ca0e-416f-b59e-b925169d7df3"
      unitRef="trading_day">20</us-gaap:DebtInstrumentConvertibleThresholdTradingDays>
    <us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1
      contextRef="ie9977cc5076947dcae42414e45f7875b_D20210309-20210309"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfNjgxNA_b88f9dac-2e96-4d58-85e4-c7471fc4a6b7"
      unitRef="trading_day">30</us-gaap:DebtInstrumentConvertibleThresholdConsecutiveTradingDays1>
    <us-gaap:DebtInstrumentFaceAmount
      contextRef="i97d9dfb2e90e4dcb87ef379010f951ea_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOjJkZDlhMmE1ZmQ2ODQ0MGI4ZmZhYTk1MGIxMGY5YzZkL3RhYmxlcmFuZ2U6MmRkOWEyYTVmZDY4NDQwYjhmZmFhOTUwYjEwZjljNmRfMS0yLTEtMS0w_3cfa8be3-00af-4bef-877b-8bc077b60fd1"
      unitRef="usd">600000000</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet
      contextRef="i97d9dfb2e90e4dcb87ef379010f951ea_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOjJkZDlhMmE1ZmQ2ODQ0MGI4ZmZhYTk1MGIxMGY5YzZkL3RhYmxlcmFuZ2U6MmRkOWEyYTVmZDY4NDQwYjhmZmFhOTUwYjEwZjljNmRfMi0yLTEtMS0w_b671adcc-b584-4f99-95b6-609e60c9231c"
      unitRef="usd">8094000</us-gaap:DebtInstrumentUnamortizedDiscountPremiumAndDebtIssuanceCostsNet>
    <us-gaap:ConvertibleDebtNoncurrent
      contextRef="i97d9dfb2e90e4dcb87ef379010f951ea_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOjJkZDlhMmE1ZmQ2ODQ0MGI4ZmZhYTk1MGIxMGY5YzZkL3RhYmxlcmFuZ2U6MmRkOWEyYTVmZDY4NDQwYjhmZmFhOTUwYjEwZjljNmRfNC0yLTEtMS0w_843e39f1-3d0c-498b-93da-f3091f46c918"
      unitRef="usd">591906000</us-gaap:ConvertibleDebtNoncurrent>
    <us-gaap:DebtInstrumentInterestRateEffectivePercentage
      contextRef="i97d9dfb2e90e4dcb87ef379010f951ea_I20210630"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfNzc3Ng_dc9e71a9-72df-4517-b7e5-0bb095d868a1"
      unitRef="number">0.0054</us-gaap:DebtInstrumentInterestRateEffectivePercentage>
    <us-gaap:InterestExpenseDebt
      contextRef="i9404e945af184581a7153d97bf67846a_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmI1NjhmNGQ2MDUxZjQwNTFhNjEyZDQ2ZTJmNmE1MTEzL3RhYmxlcmFuZ2U6YjU2OGY0ZDYwNTFmNDA1MWE2MTJkNDZlMmY2YTUxMTNfMi0yLTEtMS0w_c87752c6-a4de-433d-8e9b-c1692be447b9"
      unitRef="usd">375000</us-gaap:InterestExpenseDebt>
    <us-gaap:InterestExpenseDebt
      contextRef="ib6d553f6236b4a90b30fe94aa7b8f4ec_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmI1NjhmNGQ2MDUxZjQwNTFhNjEyZDQ2ZTJmNmE1MTEzL3RhYmxlcmFuZ2U6YjU2OGY0ZDYwNTFmNDA1MWE2MTJkNDZlMmY2YTUxMTNfMi00LTEtMS0yNjM_7f3ebf64-6760-49fd-96ba-2aabd942554a"
      unitRef="usd">458000</us-gaap:InterestExpenseDebt>
    <us-gaap:AmortizationOfFinancingCostsAndDiscounts
      contextRef="i9404e945af184581a7153d97bf67846a_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmI1NjhmNGQ2MDUxZjQwNTFhNjEyZDQ2ZTJmNmE1MTEzL3RhYmxlcmFuZ2U6YjU2OGY0ZDYwNTFmNDA1MWE2MTJkNDZlMmY2YTUxMTNfMy0yLTEtMS0w_b44650f1-d063-4b6e-9e59-88dd9a9fcab9"
      unitRef="usd">428000</us-gaap:AmortizationOfFinancingCostsAndDiscounts>
    <us-gaap:AmortizationOfFinancingCostsAndDiscounts
      contextRef="ib6d553f6236b4a90b30fe94aa7b8f4ec_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmI1NjhmNGQ2MDUxZjQwNTFhNjEyZDQ2ZTJmNmE1MTEzL3RhYmxlcmFuZ2U6YjU2OGY0ZDYwNTFmNDA1MWE2MTJkNDZlMmY2YTUxMTNfMy00LTEtMS0yNjM_eb6839a6-8410-4305-bb90-c3c9db8def6b"
      unitRef="usd">523000</us-gaap:AmortizationOfFinancingCostsAndDiscounts>
    <us-gaap:InterestAndDebtExpense
      contextRef="i9404e945af184581a7153d97bf67846a_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmI1NjhmNGQ2MDUxZjQwNTFhNjEyZDQ2ZTJmNmE1MTEzL3RhYmxlcmFuZ2U6YjU2OGY0ZDYwNTFmNDA1MWE2MTJkNDZlMmY2YTUxMTNfNS0yLTEtMS0w_553621e4-a2e4-432a-8fe2-66c88a4c94c1"
      unitRef="usd">803000</us-gaap:InterestAndDebtExpense>
    <us-gaap:InterestAndDebtExpense
      contextRef="ib6d553f6236b4a90b30fe94aa7b8f4ec_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmI1NjhmNGQ2MDUxZjQwNTFhNjEyZDQ2ZTJmNmE1MTEzL3RhYmxlcmFuZ2U6YjU2OGY0ZDYwNTFmNDA1MWE2MTJkNDZlMmY2YTUxMTNfNS00LTEtMS01OTM_8764c5e2-39c2-453f-a2d4-e9b560f3fbb7"
      unitRef="usd">981000</us-gaap:InterestAndDebtExpense>
    <us-gaap:ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RleHRyZWdpb246ODhmMWVmYjJkYWZkNGMzNWFmMWFmYzc0NmY4ZjEyZmVfMjc0ODc3OTEwMjIwMQ_c7a42424-7c5c-4d63-9c6d-46282c719b07">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Below are the components of other (expense) income, net included in the accompanying condensed consolidated statements of income:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:53.724%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:7.525%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.987%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.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="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest expense, including amortization of debt discounts and debt issuance costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12,438)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(251)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12,915)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(502)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Interest income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;492&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;752&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,202&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,244&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(253)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(31)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(398)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cff0fc;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(282)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total other (expense) income including interest expense, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12,199)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;470&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12,111)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,460&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfOtherNonoperatingIncomeExpenseTableTextBlock>
    <us-gaap:InterestExpenseDebt
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmIzODY4M2Y0OTM4ZjRjNDE4MDg2MzRkMWFiZjk5YzQwL3RhYmxlcmFuZ2U6YjM4NjgzZjQ5MzhmNGM0MTgwODYzNGQxYWJmOTljNDBfMi0yLTEtMS02ODIy_ca30d900-f90c-4347-8dc6-bde93f04d07a"
      unitRef="usd">12438000</us-gaap:InterestExpenseDebt>
    <us-gaap:InterestExpenseDebt
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmIzODY4M2Y0OTM4ZjRjNDE4MDg2MzRkMWFiZjk5YzQwL3RhYmxlcmFuZ2U6YjM4NjgzZjQ5MzhmNGM0MTgwODYzNGQxYWJmOTljNDBfMi00LTEtMS02ODI2_92ca464d-f1b1-4992-9d5d-de66e49dc6d0"
      unitRef="usd">251000</us-gaap:InterestExpenseDebt>
    <us-gaap:InterestExpenseDebt
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmIzODY4M2Y0OTM4ZjRjNDE4MDg2MzRkMWFiZjk5YzQwL3RhYmxlcmFuZ2U6YjM4NjgzZjQ5MzhmNGM0MTgwODYzNGQxYWJmOTljNDBfMi02LTEtMS02ODMz_db42e418-8ef0-4d1d-907a-18bd21e50bd9"
      unitRef="usd">12915000</us-gaap:InterestExpenseDebt>
    <us-gaap:InterestExpenseDebt
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmIzODY4M2Y0OTM4ZjRjNDE4MDg2MzRkMWFiZjk5YzQwL3RhYmxlcmFuZ2U6YjM4NjgzZjQ5MzhmNGM0MTgwODYzNGQxYWJmOTljNDBfMi04LTEtMS02ODM4_8209e708-7400-4638-8ce4-879234a0d940"
      unitRef="usd">502000</us-gaap:InterestExpenseDebt>
    <us-gaap:OtherNonoperatingIncome
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmIzODY4M2Y0OTM4ZjRjNDE4MDg2MzRkMWFiZjk5YzQwL3RhYmxlcmFuZ2U6YjM4NjgzZjQ5MzhmNGM0MTgwODYzNGQxYWJmOTljNDBfMy0yLTEtMS02ODIy_d808732b-fbcf-464a-afd5-d402b0516298"
      unitRef="usd">492000</us-gaap:OtherNonoperatingIncome>
    <us-gaap:OtherNonoperatingIncome
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmIzODY4M2Y0OTM4ZjRjNDE4MDg2MzRkMWFiZjk5YzQwL3RhYmxlcmFuZ2U6YjM4NjgzZjQ5MzhmNGM0MTgwODYzNGQxYWJmOTljNDBfMy00LTEtMS02ODI2_e6f2b5bc-cca6-4aaf-9bd9-a65d2fc040cc"
      unitRef="usd">752000</us-gaap:OtherNonoperatingIncome>
    <us-gaap:OtherNonoperatingIncome
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmIzODY4M2Y0OTM4ZjRjNDE4MDg2MzRkMWFiZjk5YzQwL3RhYmxlcmFuZ2U6YjM4NjgzZjQ5MzhmNGM0MTgwODYzNGQxYWJmOTljNDBfMy02LTEtMS02ODMz_05347731-163f-41a6-9757-8ed8199fb8ad"
      unitRef="usd">1202000</us-gaap:OtherNonoperatingIncome>
    <us-gaap:OtherNonoperatingIncome
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmIzODY4M2Y0OTM4ZjRjNDE4MDg2MzRkMWFiZjk5YzQwL3RhYmxlcmFuZ2U6YjM4NjgzZjQ5MzhmNGM0MTgwODYzNGQxYWJmOTljNDBfMy04LTEtMS02ODM4_52e39553-f3f0-4a65-9872-6b6daf9f5a49"
      unitRef="usd">2244000</us-gaap:OtherNonoperatingIncome>
    <us-gaap:OtherNonoperatingExpense
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmIzODY4M2Y0OTM4ZjRjNDE4MDg2MzRkMWFiZjk5YzQwL3RhYmxlcmFuZ2U6YjM4NjgzZjQ5MzhmNGM0MTgwODYzNGQxYWJmOTljNDBfNC0yLTEtMS02ODIy_7ab535a7-b5db-44f0-ad01-d714a020d7cb"
      unitRef="usd">253000</us-gaap:OtherNonoperatingExpense>
    <us-gaap:OtherNonoperatingExpense
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmIzODY4M2Y0OTM4ZjRjNDE4MDg2MzRkMWFiZjk5YzQwL3RhYmxlcmFuZ2U6YjM4NjgzZjQ5MzhmNGM0MTgwODYzNGQxYWJmOTljNDBfNC00LTEtMS02ODI2_ecceabb1-4952-4973-889c-a362fb6609c0"
      unitRef="usd">31000</us-gaap:OtherNonoperatingExpense>
    <us-gaap:OtherNonoperatingExpense
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmIzODY4M2Y0OTM4ZjRjNDE4MDg2MzRkMWFiZjk5YzQwL3RhYmxlcmFuZ2U6YjM4NjgzZjQ5MzhmNGM0MTgwODYzNGQxYWJmOTljNDBfNC02LTEtMS02ODMz_a2bd23b8-1a9c-4d2f-8675-22aa2cad642b"
      unitRef="usd">398000</us-gaap:OtherNonoperatingExpense>
    <us-gaap:OtherNonoperatingExpense
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmIzODY4M2Y0OTM4ZjRjNDE4MDg2MzRkMWFiZjk5YzQwL3RhYmxlcmFuZ2U6YjM4NjgzZjQ5MzhmNGM0MTgwODYzNGQxYWJmOTljNDBfNC04LTEtMS02ODM4_bf25fe51-eed8-4ae0-bb45-ff9fd9708ce7"
      unitRef="usd">282000</us-gaap:OtherNonoperatingExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmIzODY4M2Y0OTM4ZjRjNDE4MDg2MzRkMWFiZjk5YzQwL3RhYmxlcmFuZ2U6YjM4NjgzZjQ5MzhmNGM0MTgwODYzNGQxYWJmOTljNDBfNS0yLTEtMS03MTg5_58fd41e6-54fb-4868-82a2-5e070935fd6d"
      unitRef="usd">-12199000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmIzODY4M2Y0OTM4ZjRjNDE4MDg2MzRkMWFiZjk5YzQwL3RhYmxlcmFuZ2U6YjM4NjgzZjQ5MzhmNGM0MTgwODYzNGQxYWJmOTljNDBfNS00LTEtMS03MTg5_d8ad06af-5927-4ff4-9a13-6c0a0d423323"
      unitRef="usd">470000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmIzODY4M2Y0OTM4ZjRjNDE4MDg2MzRkMWFiZjk5YzQwL3RhYmxlcmFuZ2U6YjM4NjgzZjQ5MzhmNGM0MTgwODYzNGQxYWJmOTljNDBfNS02LTEtMS03MTg5_13f08926-f004-4d62-b7b9-5b52b0cfe074"
      unitRef="usd">-12111000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF80OS9mcmFnOjg4ZjFlZmIyZGFmZDRjMzVhZjFhZmM3NDZmOGYxMmZlL3RhYmxlOmIzODY4M2Y0OTM4ZjRjNDE4MDg2MzRkMWFiZjk5YzQwL3RhYmxlcmFuZ2U6YjM4NjgzZjQ5MzhmNGM0MTgwODYzNGQxYWJmOTljNDBfNS04LTEtMS03MTg5_d16275c7-0e01-4ae7-b83a-022cd793228a"
      unitRef="usd">1460000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81NS9mcmFnOmE0OTljM2IwYTcwYzQ4MWVhMGUyMjRlNjlkYzNjMDk3L3RleHRyZWdpb246YTQ5OWMzYjBhNzBjNDgxZWEwZTIyNGU2OWRjM2MwOTdfMTAxNg_76b366e7-c292-4c42-bf70-6d2079f6c491">Income Tax Provision&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We had an effective income tax rate of 2.2% and 2.9% for the three and six months ended June&#160;30, 2021, respectively, compared to negative 28.9% and negative 32.3% for the three and six months ended June&#160;30, 2020, respectively. The higher effective tax rate for the three and six months ended June&#160;30, 2021, as compared to the same periods in 2020, was principally driven by a decrease in the excess tax benefits related to stock incentive awards. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The effective income tax rates for the periods presented were different from the statutory United States federal income tax rate of 21% primarily due to excess tax benefits related to stock incentive awards and the tax benefit of research tax credits offset by state income taxes and non-deductible business expenses. The excess tax benefits related to stock incentive awards realized were $6.4 million and $15.2 million for the three and six months ended June&#160;30, 2021, respectively, compared to $23.4 million and $45.5 million for the three and six months ended June&#160;30, 2020, respectively. Excluding the excess tax benefits, the effective tax rate was 26.7% and 26.5% for the three and six months ended June&#160;30, 2021, respectively, compared to 27.2% and 27.1% for the three and six months ended June&#160;30, 2020, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We made tax payments of $967,000 and $422,000 in the six months ended June 30, 2021, and 2020, respectively.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81NS9mcmFnOmE0OTljM2IwYTcwYzQ4MWVhMGUyMjRlNjlkYzNjMDk3L3RleHRyZWdpb246YTQ5OWMzYjBhNzBjNDgxZWEwZTIyNGU2OWRjM2MwOTdfNjk_c79774c9-29ec-4ee6-bdee-e8f772db7c3b"
      unitRef="number">0.022</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81NS9mcmFnOmE0OTljM2IwYTcwYzQ4MWVhMGUyMjRlNjlkYzNjMDk3L3RleHRyZWdpb246YTQ5OWMzYjBhNzBjNDgxZWEwZTIyNGU2OWRjM2MwOTdfMTA5OTUxMTYyODgzNg_ee230ca3-e83e-4c7b-bad2-4939bf784dac"
      unitRef="number">0.029</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81NS9mcmFnOmE0OTljM2IwYTcwYzQ4MWVhMGUyMjRlNjlkYzNjMDk3L3RleHRyZWdpb246YTQ5OWMzYjBhNzBjNDgxZWEwZTIyNGU2OWRjM2MwOTdfMTIx_c7a18c99-4478-4d60-a4e1-03bfbb778bb5"
      unitRef="number">-0.289</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81NS9mcmFnOmE0OTljM2IwYTcwYzQ4MWVhMGUyMjRlNjlkYzNjMDk3L3RleHRyZWdpb246YTQ5OWMzYjBhNzBjNDgxZWEwZTIyNGU2OWRjM2MwOTdfMTA5OTUxMTYyODg0MA_b8d371fb-e233-4383-9e2a-8cc4d9024d52"
      unitRef="number">-0.323</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81NS9mcmFnOmE0OTljM2IwYTcwYzQ4MWVhMGUyMjRlNjlkYzNjMDk3L3RleHRyZWdpb246YTQ5OWMzYjBhNzBjNDgxZWEwZTIyNGU2OWRjM2MwOTdfNzQw_013033fc-8670-4197-a881-3a0252d21f5e"
      unitRef="usd">6400000</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81NS9mcmFnOmE0OTljM2IwYTcwYzQ4MWVhMGUyMjRlNjlkYzNjMDk3L3RleHRyZWdpb246YTQ5OWMzYjBhNzBjNDgxZWEwZTIyNGU2OWRjM2MwOTdfMTA5OTUxMTYyODg2MA_6c0944bd-a74d-40b3-a9f9-01624cfeb04f"
      unitRef="usd">15200000</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81NS9mcmFnOmE0OTljM2IwYTcwYzQ4MWVhMGUyMjRlNjlkYzNjMDk3L3RleHRyZWdpb246YTQ5OWMzYjBhNzBjNDgxZWEwZTIyNGU2OWRjM2MwOTdfNzgz_9ff2b64d-3c61-4e6d-8457-b613f81b7426"
      unitRef="usd">23400000</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount>
    <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81NS9mcmFnOmE0OTljM2IwYTcwYzQ4MWVhMGUyMjRlNjlkYzNjMDk3L3RleHRyZWdpb246YTQ5OWMzYjBhNzBjNDgxZWEwZTIyNGU2OWRjM2MwOTdfMTA5OTUxMTYyODkzOA_ef64f79b-1d48-47e6-8308-7697fc63a2f2"
      unitRef="usd">45500000</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitAmount>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81NS9mcmFnOmE0OTljM2IwYTcwYzQ4MWVhMGUyMjRlNjlkYzNjMDk3L3RleHRyZWdpb246YTQ5OWMzYjBhNzBjNDgxZWEwZTIyNGU2OWRjM2MwOTdfODc2_951d81d8-d8e8-41f6-af81-72830d13b502"
      unitRef="number">0.267</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81NS9mcmFnOmE0OTljM2IwYTcwYzQ4MWVhMGUyMjRlNjlkYzNjMDk3L3RleHRyZWdpb246YTQ5OWMzYjBhNzBjNDgxZWEwZTIyNGU2OWRjM2MwOTdfMTA5OTUxMTYyODg4OQ_50fcf8a3-d46b-4374-b64a-262762b6e0c1"
      unitRef="number">0.265</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81NS9mcmFnOmE0OTljM2IwYTcwYzQ4MWVhMGUyMjRlNjlkYzNjMDk3L3RleHRyZWdpb246YTQ5OWMzYjBhNzBjNDgxZWEwZTIyNGU2OWRjM2MwOTdfOTE5_84476909-a5cf-434f-bac8-b0d36cbe9308"
      unitRef="number">0.272</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81NS9mcmFnOmE0OTljM2IwYTcwYzQ4MWVhMGUyMjRlNjlkYzNjMDk3L3RleHRyZWdpb246YTQ5OWMzYjBhNzBjNDgxZWEwZTIyNGU2OWRjM2MwOTdfMTA5OTUxMTYyODkxNw_20b91399-66ac-4fef-ab5d-aa5e70bdaef1"
      unitRef="number">0.271</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
    <us-gaap:IncomeTaxesPaid
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81NS9mcmFnOmE0OTljM2IwYTcwYzQ4MWVhMGUyMjRlNjlkYzNjMDk3L3RleHRyZWdpb246YTQ5OWMzYjBhNzBjNDgxZWEwZTIyNGU2OWRjM2MwOTdfOTc1_19393d65-2e4e-4209-b10c-00c7b18a6395"
      unitRef="usd">967000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81NS9mcmFnOmE0OTljM2IwYTcwYzQ4MWVhMGUyMjRlNjlkYzNjMDk3L3RleHRyZWdpb246YTQ5OWMzYjBhNzBjNDgxZWEwZTIyNGU2OWRjM2MwOTdfOTgy_a2a14701-4c7a-4be1-9744-c0c01991becb"
      unitRef="usd">422000</us-gaap:IncomeTaxesPaid>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RleHRyZWdpb246MGM3MDc1NDMwYWYyNDE2OGFhZjhlOWIxOTdmZDMxOTZfMTQxNQ_294988e5-9040-48c0-bd95-743af79882aa">Earnings Per Share&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table details the reconciliation of basic earnings per share to diluted earnings per share:&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:39.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.005%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.128%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.157%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.454%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Numerator for basic and diluted earnings per share:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,530&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,892&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,506&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;101,442&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average basic common shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,765&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,963&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,984&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Assumed conversion of dilutive securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,329&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,453&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,387&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,548&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Convertible Senior Notes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-indent:6.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator for diluted earnings per share&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:6.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160; - Adjusted weighted-average shares&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,094&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,416&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,148&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,532&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Earnings per common share:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.63&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.35&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.53&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.54&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted&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:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.61&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.30&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.48&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.44&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;For the three and six months ended June&#160;30, 2021 and 2020, stock awards, representing the right to purchase common stock of approximately 191,000 shares and 166,000 shares and 124,000 shares and 102,000 shares, respectively, were not included in the computation of diluted earnings per share because their inclusion would have had an antidilutive effect.&#160;&lt;/span&gt;&lt;/div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have used the if-converted method for calculating any potential dilutive effect of the Convertible Senior Notes on our diluted net income per share. Under the if-converted method, the Notes are assumed to be converted at the beginning of the period and the resulting common shares are included in the denominator of the diluted earnings per share calculation for the entire period being presented and interest expense, net of tax, recorded in connection with the Convertible Senior Notes is added back to the numerator, only in the periods in which such effect is dilutive. The approximately 1.2&#160;million resulting common shares related to the Notes are not included in the dilutive weighted-average common shares outstanding calculation for the three and six months ended June&#160;30, 2021, respectively, as their effect would be anti-dilutive given none of the conversion features have been triggered. See Note 7, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Debt &lt;/span&gt;for discussion on the conversion features related to the Convertible Senior Notes.</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RleHRyZWdpb246MGM3MDc1NDMwYWYyNDE2OGFhZjhlOWIxOTdmZDMxOTZfMTQyMg_15cdf94a-9fec-469d-b28f-b8ce9cd45936">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table details the reconciliation of basic earnings per share to diluted earnings per share:&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:39.543%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.005%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.128%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.157%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.823%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.454%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Numerator for basic and diluted earnings per share:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,530&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,892&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;62,506&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;101,442&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted-average basic common shares outstanding&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,765&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,963&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;40,761&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,984&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Assumed conversion of dilutive securities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Stock awards&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,329&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,453&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,387&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,548&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Convertible Senior Notes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-indent:6.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Denominator for diluted earnings per share&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:6.75pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&#160; - Adjusted weighted-average shares&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,094&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,416&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,148&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,532&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Earnings per common share:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Basic&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.63&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.35&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.53&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.54&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Diluted&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:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0.61&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.30&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1.48&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;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:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.44&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:3pt double #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RhYmxlOmRiZjMyOTk4NDFlODRhNmJiMzJkYmNiNTFkZTQyNGM4L3RhYmxlcmFuZ2U6ZGJmMzI5OTg0MWU4NGE2YmIzMmRiY2I1MWRlNDI0YzhfMy0yLTEtMS0w_67269cda-0bb0-4b36-965d-820dd13bfe2a"
      unitRef="usd">25530000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RhYmxlOmRiZjMyOTk4NDFlODRhNmJiMzJkYmNiNTFkZTQyNGM4L3RhYmxlcmFuZ2U6ZGJmMzI5OTg0MWU4NGE2YmIzMmRiY2I1MWRlNDI0YzhfMy00LTEtMS0w_fb9bb48e-7906-41c1-9e68-ba51a38ac033"
      unitRef="usd">53892000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RhYmxlOmRiZjMyOTk4NDFlODRhNmJiMzJkYmNiNTFkZTQyNGM4L3RhYmxlcmFuZ2U6ZGJmMzI5OTg0MWU4NGE2YmIzMmRiY2I1MWRlNDI0YzhfMy02LTEtMS0w_2c9be75c-2c1b-4de8-8bc0-fba1dcb0ae7f"
      unitRef="usd">62506000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RhYmxlOmRiZjMyOTk4NDFlODRhNmJiMzJkYmNiNTFkZTQyNGM4L3RhYmxlcmFuZ2U6ZGJmMzI5OTg0MWU4NGE2YmIzMmRiY2I1MWRlNDI0YzhfMy04LTEtMS0w_b2b10208-2256-4ce8-8590-c00eb61a8b1e"
      unitRef="usd">101442000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RhYmxlOmRiZjMyOTk4NDFlODRhNmJiMzJkYmNiNTFkZTQyNGM4L3RhYmxlcmFuZ2U6ZGJmMzI5OTg0MWU4NGE2YmIzMmRiY2I1MWRlNDI0YzhfNS0yLTEtMS0w_e977e44c-dbd9-458a-bfbb-594927ea4c43"
      unitRef="shares">40765000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RhYmxlOmRiZjMyOTk4NDFlODRhNmJiMzJkYmNiNTFkZTQyNGM4L3RhYmxlcmFuZ2U6ZGJmMzI5OTg0MWU4NGE2YmIzMmRiY2I1MWRlNDI0YzhfNS00LTEtMS0w_85827b8f-747f-402c-8448-172ece823584"
      unitRef="shares">39963000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RhYmxlOmRiZjMyOTk4NDFlODRhNmJiMzJkYmNiNTFkZTQyNGM4L3RhYmxlcmFuZ2U6ZGJmMzI5OTg0MWU4NGE2YmIzMmRiY2I1MWRlNDI0YzhfNS02LTEtMS0w_1e5e105a-0eab-4c60-b245-c632a322cd6d"
      unitRef="shares">40761000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RhYmxlOmRiZjMyOTk4NDFlODRhNmJiMzJkYmNiNTFkZTQyNGM4L3RhYmxlcmFuZ2U6ZGJmMzI5OTg0MWU4NGE2YmIzMmRiY2I1MWRlNDI0YzhfNS04LTEtMS0w_b1efbdf7-09b7-49c1-bda8-6b600c203cb8"
      unitRef="shares">39984000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RhYmxlOmRiZjMyOTk4NDFlODRhNmJiMzJkYmNiNTFkZTQyNGM4L3RhYmxlcmFuZ2U6ZGJmMzI5OTg0MWU4NGE2YmIzMmRiY2I1MWRlNDI0YzhfNy0yLTEtMS0w_9b980119-230f-4485-a773-b3a146a05c4f"
      unitRef="shares">1329000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RhYmxlOmRiZjMyOTk4NDFlODRhNmJiMzJkYmNiNTFkZTQyNGM4L3RhYmxlcmFuZ2U6ZGJmMzI5OTg0MWU4NGE2YmIzMmRiY2I1MWRlNDI0YzhfNy00LTEtMS0w_316e10f5-9d28-4ee4-833b-15f33d1d92e5"
      unitRef="shares">1453000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RhYmxlOmRiZjMyOTk4NDFlODRhNmJiMzJkYmNiNTFkZTQyNGM4L3RhYmxlcmFuZ2U6ZGJmMzI5OTg0MWU4NGE2YmIzMmRiY2I1MWRlNDI0YzhfNy02LTEtMS0w_24be40de-7d54-4e1f-950e-39599374ed15"
      unitRef="shares">1387000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RhYmxlOmRiZjMyOTk4NDFlODRhNmJiMzJkYmNiNTFkZTQyNGM4L3RhYmxlcmFuZ2U6ZGJmMzI5OTg0MWU4NGE2YmIzMmRiY2I1MWRlNDI0YzhfNy04LTEtMS0w_aac0f63b-554d-4b34-8b65-de6f68151f00"
      unitRef="shares">1548000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RhYmxlOmRiZjMyOTk4NDFlODRhNmJiMzJkYmNiNTFkZTQyNGM4L3RhYmxlcmFuZ2U6ZGJmMzI5OTg0MWU4NGE2YmIzMmRiY2I1MWRlNDI0YzhfOC0yLTEtMS0w_6c9a4f64-6942-4e56-8b0b-82faac71e202"
      unitRef="shares">0</us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities>
    <us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RhYmxlOmRiZjMyOTk4NDFlODRhNmJiMzJkYmNiNTFkZTQyNGM4L3RhYmxlcmFuZ2U6ZGJmMzI5OTg0MWU4NGE2YmIzMmRiY2I1MWRlNDI0YzhfOC00LTEtMS0w_7b1d5829-691d-4933-bb46-6f0fcbe91c47"
      unitRef="shares">0</us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities>
    <us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RhYmxlOmRiZjMyOTk4NDFlODRhNmJiMzJkYmNiNTFkZTQyNGM4L3RhYmxlcmFuZ2U6ZGJmMzI5OTg0MWU4NGE2YmIzMmRiY2I1MWRlNDI0YzhfOC02LTEtMS02MjE_3d7416db-9fb3-4d2c-9483-3e1dd7631964"
      unitRef="shares">0</us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities>
    <us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RhYmxlOmRiZjMyOTk4NDFlODRhNmJiMzJkYmNiNTFkZTQyNGM4L3RhYmxlcmFuZ2U6ZGJmMzI5OTg0MWU4NGE2YmIzMmRiY2I1MWRlNDI0YzhfOC04LTEtMS02MjE_c5ddd50b-1cf1-4fa9-b5f9-dfe7fff5eba3"
      unitRef="shares">0</us-gaap:IncrementalCommonSharesAttributableToConversionOfDebtSecurities>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RhYmxlOmRiZjMyOTk4NDFlODRhNmJiMzJkYmNiNTFkZTQyNGM4L3RhYmxlcmFuZ2U6ZGJmMzI5OTg0MWU4NGE2YmIzMmRiY2I1MWRlNDI0YzhfOS0yLTEtMS0w_388b8cea-64fb-4024-8e13-762ed19f4cfe"
      unitRef="shares">42094000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RhYmxlOmRiZjMyOTk4NDFlODRhNmJiMzJkYmNiNTFkZTQyNGM4L3RhYmxlcmFuZ2U6ZGJmMzI5OTg0MWU4NGE2YmIzMmRiY2I1MWRlNDI0YzhfOS00LTEtMS0w_ffaeb74d-fe86-482c-88de-08533264beea"
      unitRef="shares">41416000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RhYmxlOmRiZjMyOTk4NDFlODRhNmJiMzJkYmNiNTFkZTQyNGM4L3RhYmxlcmFuZ2U6ZGJmMzI5OTg0MWU4NGE2YmIzMmRiY2I1MWRlNDI0YzhfOS02LTEtMS0w_336edbd7-0661-4308-8adb-3b9b05aaa20f"
      unitRef="shares">42148000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RhYmxlOmRiZjMyOTk4NDFlODRhNmJiMzJkYmNiNTFkZTQyNGM4L3RhYmxlcmFuZ2U6ZGJmMzI5OTg0MWU4NGE2YmIzMmRiY2I1MWRlNDI0YzhfOS04LTEtMS0w_d2705331-ab7b-44e3-b01c-cc860babecd9"
      unitRef="shares">41532000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RhYmxlOmRiZjMyOTk4NDFlODRhNmJiMzJkYmNiNTFkZTQyNGM4L3RhYmxlcmFuZ2U6ZGJmMzI5OTg0MWU4NGE2YmIzMmRiY2I1MWRlNDI0YzhfMTEtMi0xLTEtMA_594e5282-0716-4ead-a89f-2f171447c2da"
      unitRef="usdPerShare">0.63</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RhYmxlOmRiZjMyOTk4NDFlODRhNmJiMzJkYmNiNTFkZTQyNGM4L3RhYmxlcmFuZ2U6ZGJmMzI5OTg0MWU4NGE2YmIzMmRiY2I1MWRlNDI0YzhfMTEtNC0xLTEtMA_346323c7-7ed1-4ae0-9a9a-7c2a8d5a9b2c"
      unitRef="usdPerShare">1.35</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RhYmxlOmRiZjMyOTk4NDFlODRhNmJiMzJkYmNiNTFkZTQyNGM4L3RhYmxlcmFuZ2U6ZGJmMzI5OTg0MWU4NGE2YmIzMmRiY2I1MWRlNDI0YzhfMTEtNi0xLTEtMA_de68ed08-29e2-4703-9b42-6e494d4d3a5e"
      unitRef="usdPerShare">1.53</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RhYmxlOmRiZjMyOTk4NDFlODRhNmJiMzJkYmNiNTFkZTQyNGM4L3RhYmxlcmFuZ2U6ZGJmMzI5OTg0MWU4NGE2YmIzMmRiY2I1MWRlNDI0YzhfMTEtOC0xLTEtMA_8f373afe-ea94-4d42-95c6-535312da868f"
      unitRef="usdPerShare">2.54</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RhYmxlOmRiZjMyOTk4NDFlODRhNmJiMzJkYmNiNTFkZTQyNGM4L3RhYmxlcmFuZ2U6ZGJmMzI5OTg0MWU4NGE2YmIzMmRiY2I1MWRlNDI0YzhfMTItMi0xLTEtMA_b93f4c95-5efb-4d6f-a901-33ae942c12eb"
      unitRef="usdPerShare">0.61</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RhYmxlOmRiZjMyOTk4NDFlODRhNmJiMzJkYmNiNTFkZTQyNGM4L3RhYmxlcmFuZ2U6ZGJmMzI5OTg0MWU4NGE2YmIzMmRiY2I1MWRlNDI0YzhfMTItNC0xLTEtMA_92b9252b-2e3d-4ecc-9308-7849140fd115"
      unitRef="usdPerShare">1.30</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RhYmxlOmRiZjMyOTk4NDFlODRhNmJiMzJkYmNiNTFkZTQyNGM4L3RhYmxlcmFuZ2U6ZGJmMzI5OTg0MWU4NGE2YmIzMmRiY2I1MWRlNDI0YzhfMTItNi0xLTEtMA_dac6eb5f-5b8a-472e-a80e-149390bcd0f2"
      unitRef="usdPerShare">1.48</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RhYmxlOmRiZjMyOTk4NDFlODRhNmJiMzJkYmNiNTFkZTQyNGM4L3RhYmxlcmFuZ2U6ZGJmMzI5OTg0MWU4NGE2YmIzMmRiY2I1MWRlNDI0YzhfMTItOC0xLTEtMA_269a6d33-bf3f-4219-a9c4-58ea0da01464"
      unitRef="usdPerShare">2.44</us-gaap:EarningsPerShareDiluted>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i53461c5dc897458a8a9fe2bbb9b21ccf_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RleHRyZWdpb246MGM3MDc1NDMwYWYyNDE2OGFhZjhlOWIxOTdmZDMxOTZfMjUw_f745b055-14c4-407b-bbfd-3fe6759b83b1"
      unitRef="shares">191000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ia88325771f23490bb55a4e03932c9543_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RleHRyZWdpb246MGM3MDc1NDMwYWYyNDE2OGFhZjhlOWIxOTdmZDMxOTZfMTA5OTUxMTYyOTIwOA_47fb136e-8f6a-4df0-abfe-0cc686a1c7ed"
      unitRef="shares">166000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i87effb3d52d74e40b999a2261bccd7a4_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RleHRyZWdpb246MGM3MDc1NDMwYWYyNDE2OGFhZjhlOWIxOTdmZDMxOTZfMjY0_8c4e8f99-9127-4a60-af4a-d9c4e67e9864"
      unitRef="shares">124000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="ia1cbf786a4f849a8aa9e75306bea864a_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RleHRyZWdpb246MGM3MDc1NDMwYWYyNDE2OGFhZjhlOWIxOTdmZDMxOTZfMTA5OTUxMTYyOTIyNg_767c1bfe-3a44-4bd7-9db5-a5a277e2c6f4"
      unitRef="shares">102000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i97ef37d2d8084a11947f945e082bde3c_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RleHRyZWdpb246MGM3MDc1NDMwYWYyNDE2OGFhZjhlOWIxOTdmZDMxOTZfMTAxNw_59a05805-c478-4d4e-9e35-4f2ed6b8e269"
      unitRef="shares">1200000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="i9afb9a52b83540a48e731ecbda213963_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF81OC9mcmFnOjBjNzA3NTQzMGFmMjQxNjhhYWY4ZTliMTk3ZmQzMTk2L3RleHRyZWdpb246MGM3MDc1NDMwYWYyNDE2OGFhZjhlOWIxOTdmZDMxOTZfMTAxNw_687403b4-8820-41a6-ab11-82fced5be385"
      unitRef="shares">1200000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:OperatingLeasesOfLessorDisclosureTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RleHRyZWdpb246NzU3MjY4MTMwMzNjNGExN2I0MWI3YTgzYjNlMGUwMmRfMTk3NA_13c31a0a-8cfb-4c6f-900b-ae018579f3cb">Leases&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We lease office facilities for use in our operations, as well as transportation and other equipment.&#160;Most of our leases are non-cancelable operating lease agreements with original maturities between &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RleHRyZWdpb246NzU3MjY4MTMwMzNjNGExN2I0MWI3YTgzYjNlMGUwMmRfMjE2_2fe2a4dc-e398-41cf-866c-87488edbfb5c"&gt;one&lt;/span&gt; to seven years from the execution date.&#160;Some of these leases include options to extend for up to 10 years. We have&#160;no finance leases and no related party lease agreements as of June&#160;30, 2021. Operating lease costs were approximately $5.6 million and $8.2 million for the three and six months ended June&#160;30, 2021, respectively, and $2.5 million and $5.1 million for the three and six months ended June&#160;30, 2020, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of operating lease expense were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;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:18.636%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:35.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.695%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.449%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.141%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Lease Costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Financial Statement Classification&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,388&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,606&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,110&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,272&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Short-term lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;731&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;447&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,212&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,021&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Variable lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;496&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;454&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;927&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;848&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net lease cost&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 style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,615&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,507&#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 style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,249&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,141&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Right-of-use lease assets and lease liabilities for our operating leases were recorded in the condensed consolidated balance sheets as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:86.257%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.916%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.647%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.357%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.986%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.394%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,230&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,734&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases, short-term&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,666&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,904&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases, long-term&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,118&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,279&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,784&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,183&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental information related to leases is as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.397%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.615%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.591%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.513%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.065%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.516%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Other Information&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Cash flows&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash amounts paid included in the measurement of lease liabilities:&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating cash outflows from operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,379&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Right-of-use assets obtained in exchange for lease obligations (non-cash):&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,961&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;510&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Lease term and discount rate:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average remaining lease term (years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.85&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average discount rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.51&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.00&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of&#160;June&#160;30, 2021, maturities of lease liabilities were as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:93.713%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.378%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.892%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:24.330%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Year ending December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021 (Remaining 2021)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,060&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,225&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,410&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,849&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,275&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,491)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Present value of operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,784&#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:9pt;margin-top:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Rental Income from third parties&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We own office buildings in Bangor, Falmouth and Yarmouth, Maine; Lubbock and Plano, Texas; Troy, Michigan; Latham, New York; and Moraine, Ohio. We lease space in some of these buildings to third-party tenants. The property we lease to others under operating leases consists primarily of specific facilities where one tenant obtains substantially all of the economic benefit from the asset and has the right to direct the use of the asset. These non-cancelable leases expire between 2021 and 2025, and some have options to extend the lease for up to&#160;seven years. We determine if an arrangement is a lease at inception. None of our leases allow the lessee to purchase the leased asset.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Rental income from third-party tenants for the three and six months ended June&#160;30, 2021, totaled&#160;$296,000 and $590,000  respectively, and for the three and six months ended June&#160;30, 2020, totaled $292,000 and $566,000, respectively. Rental income is included in hardware and other revenue in the condensed consolidated statements of income. As of&#160;June&#160;30, 2021, future minimum operating rental income based on contractual agreements 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:75.877%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.410%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.148%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:32.042%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Year ending December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021 (Remaining 2021)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;713&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,449&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,479&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,510&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;966&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:15pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of June&#160;30, 2021, we had no additional significant operating or finance leases that had not yet commenced.&lt;/span&gt;&lt;/div&gt;</us-gaap:OperatingLeasesOfLessorDisclosureTextBlock>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RleHRyZWdpb246NzU3MjY4MTMwMzNjNGExN2I0MWI3YTgzYjNlMGUwMmRfMTk3NQ_2ac6b5f2-bfd0-42a5-b794-57c6e9ffec05">Leases&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We lease office facilities for use in our operations, as well as transportation and other equipment.&#160;Most of our leases are non-cancelable operating lease agreements with original maturities between &lt;span style="-sec-ix-hidden:id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RleHRyZWdpb246NzU3MjY4MTMwMzNjNGExN2I0MWI3YTgzYjNlMGUwMmRfMjE2_2fe2a4dc-e398-41cf-866c-87488edbfb5c"&gt;one&lt;/span&gt; to seven years from the execution date.&#160;Some of these leases include options to extend for up to 10 years. We have&#160;no finance leases and no related party lease agreements as of June&#160;30, 2021. Operating lease costs were approximately $5.6 million and $8.2 million for the three and six months ended June&#160;30, 2021, respectively, and $2.5 million and $5.1 million for the three and six months ended June&#160;30, 2020, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of operating lease expense were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;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:18.636%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:35.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.695%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.449%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.141%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Lease Costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Financial Statement Classification&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,388&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,606&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,110&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,272&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Short-term lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;731&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;447&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,212&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,021&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Variable lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;496&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;454&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;927&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;848&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net lease cost&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 style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,615&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,507&#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 style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,249&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,141&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Right-of-use lease assets and lease liabilities for our operating leases were recorded in the condensed consolidated balance sheets as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:86.257%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.916%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.647%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.357%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.986%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.394%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,230&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,734&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases, short-term&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,666&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,904&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases, long-term&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,118&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,279&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,784&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,183&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental information related to leases is as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.397%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.615%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.591%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.513%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.065%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.516%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Other Information&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Cash flows&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash amounts paid included in the measurement of lease liabilities:&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating cash outflows from operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,379&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Right-of-use assets obtained in exchange for lease obligations (non-cash):&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,961&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;510&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Lease term and discount rate:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average remaining lease term (years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.85&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average discount rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.51&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.00&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of&#160;June&#160;30, 2021, maturities of lease liabilities were as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:93.713%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.378%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.892%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:24.330%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Year ending December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021 (Remaining 2021)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,060&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,225&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,410&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,849&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,275&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,491)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Present value of operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,784&#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:9pt;margin-top:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Rental Income from third parties&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We own office buildings in Bangor, Falmouth and Yarmouth, Maine; Lubbock and Plano, Texas; Troy, Michigan; Latham, New York; and Moraine, Ohio. We lease space in some of these buildings to third-party tenants. The property we lease to others under operating leases consists primarily of specific facilities where one tenant obtains substantially all of the economic benefit from the asset and has the right to direct the use of the asset. These non-cancelable leases expire between 2021 and 2025, and some have options to extend the lease for up to&#160;seven years. We determine if an arrangement is a lease at inception. None of our leases allow the lessee to purchase the leased asset.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Rental income from third-party tenants for the three and six months ended June&#160;30, 2021, totaled&#160;$296,000 and $590,000  respectively, and for the three and six months ended June&#160;30, 2020, totaled $292,000 and $566,000, respectively. Rental income is included in hardware and other revenue in the condensed consolidated statements of income. As of&#160;June&#160;30, 2021, future minimum operating rental income based on contractual agreements 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:75.877%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.410%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.148%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:32.042%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Year ending December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021 (Remaining 2021)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;713&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,449&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,479&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,510&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;966&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:15pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of June&#160;30, 2021, we had no additional significant operating or finance leases that had not yet commenced.&lt;/span&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LesseeOperatingLeaseTermOfContract
      contextRef="ic480f70d68ac4090864fd39b3a86583d_I20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RleHRyZWdpb246NzU3MjY4MTMwMzNjNGExN2I0MWI3YTgzYjNlMGUwMmRfMjIy_ce684483-a69e-48c0-84f1-9201608ef411">P7Y</us-gaap:LesseeOperatingLeaseTermOfContract>
    <us-gaap:LesseeOperatingLeaseRenewalTerm
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RleHRyZWdpb246NzU3MjY4MTMwMzNjNGExN2I0MWI3YTgzYjNlMGUwMmRfMzA3_f236fff1-08f0-46e2-9b3d-f74eac796419">P10Y</us-gaap:LesseeOperatingLeaseRenewalTerm>
    <us-gaap:LeaseCost
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RleHRyZWdpb246NzU3MjY4MTMwMzNjNGExN2I0MWI3YTgzYjNlMGUwMmRfMTA5OTUxMTYyOTc5MQ_3d6b06ee-18dc-4ce2-8c7d-5cfdc5c859da"
      unitRef="usd">5600000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RleHRyZWdpb246NzU3MjY4MTMwMzNjNGExN2I0MWI3YTgzYjNlMGUwMmRfNDI2_18942ae9-2e36-449a-8176-eedd9f6707c1"
      unitRef="usd">8200000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RleHRyZWdpb246NzU3MjY4MTMwMzNjNGExN2I0MWI3YTgzYjNlMGUwMmRfMTA5OTUxMTYyOTgyOQ_fc61db63-e91f-4c95-8248-00d354575f0d"
      unitRef="usd">2500000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-5"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RleHRyZWdpb246NzU3MjY4MTMwMzNjNGExN2I0MWI3YTgzYjNlMGUwMmRfMTA5OTUxMTYyOTgzMw_fb21681b-edba-4a64-b190-6613d2acc851"
      unitRef="usd">5100000</us-gaap:LeaseCost>
    <us-gaap:LeaseCostTableTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RleHRyZWdpb246NzU3MjY4MTMwMzNjNGExN2I0MWI3YTgzYjNlMGUwMmRfMTk3Nw_bb6625f6-5fbd-4208-924c-c30ab21da615">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The components of operating lease expense were as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;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:18.636%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:35.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.695%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.449%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:8.110%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.141%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Lease Costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Financial Statement Classification&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,388&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,606&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,110&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,272&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Short-term lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;731&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;447&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,212&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,021&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Variable lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;496&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;454&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;927&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;848&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Net lease cost&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 style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,615&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,507&#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 style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,249&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,141&#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;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental information related to leases is as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.397%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.615%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.591%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.513%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.065%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.516%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Other Information&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Cash flows&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash amounts paid included in the measurement of lease liabilities:&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating cash outflows from operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,379&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Right-of-use assets obtained in exchange for lease obligations (non-cash):&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,961&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;510&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Lease term and discount rate:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average remaining lease term (years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.85&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average discount rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.51&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.00&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOjcwOTRlOGQ2ZWI1YTQ5MzNiMGRiM2U0MmMxODY0YmU0L3RhYmxlcmFuZ2U6NzA5NGU4ZDZlYjVhNDkzM2IwZGIzZTQyYzE4NjRiZTRfMi00LTEtMS0w_804b7252-148d-4ba9-96b1-9bbc3e427310"
      unitRef="usd">4388000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOjcwOTRlOGQ2ZWI1YTQ5MzNiMGRiM2U0MmMxODY0YmU0L3RhYmxlcmFuZ2U6NzA5NGU4ZDZlYjVhNDkzM2IwZGIzZTQyYzE4NjRiZTRfMi02LTEtMS0w_b1f6a7e3-0739-4e80-a9d7-670bc4f481f1"
      unitRef="usd">1606000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOjcwOTRlOGQ2ZWI1YTQ5MzNiMGRiM2U0MmMxODY0YmU0L3RhYmxlcmFuZ2U6NzA5NGU4ZDZlYjVhNDkzM2IwZGIzZTQyYzE4NjRiZTRfMi03LTEtMS0w_b2b7be18-5365-4fac-9c6c-bbd4357622e3"
      unitRef="usd">6110000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOjcwOTRlOGQ2ZWI1YTQ5MzNiMGRiM2U0MmMxODY0YmU0L3RhYmxlcmFuZ2U6NzA5NGU4ZDZlYjVhNDkzM2IwZGIzZTQyYzE4NjRiZTRfMi05LTEtMS0w_e2e91db0-7ff5-4928-82bf-77e9abc74e5a"
      unitRef="usd">3272000</us-gaap:OperatingLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOjcwOTRlOGQ2ZWI1YTQ5MzNiMGRiM2U0MmMxODY0YmU0L3RhYmxlcmFuZ2U6NzA5NGU4ZDZlYjVhNDkzM2IwZGIzZTQyYzE4NjRiZTRfMy00LTEtMS0w_7869830a-5db9-4cab-8192-7c2105881021"
      unitRef="usd">731000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOjcwOTRlOGQ2ZWI1YTQ5MzNiMGRiM2U0MmMxODY0YmU0L3RhYmxlcmFuZ2U6NzA5NGU4ZDZlYjVhNDkzM2IwZGIzZTQyYzE4NjRiZTRfMy02LTEtMS0w_45a3f5f2-c129-4c24-9ea0-1258497f87e9"
      unitRef="usd">447000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOjcwOTRlOGQ2ZWI1YTQ5MzNiMGRiM2U0MmMxODY0YmU0L3RhYmxlcmFuZ2U6NzA5NGU4ZDZlYjVhNDkzM2IwZGIzZTQyYzE4NjRiZTRfMy03LTEtMS0w_7f3acc40-14e5-456d-9aff-9b84bfb6ab75"
      unitRef="usd">1212000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOjcwOTRlOGQ2ZWI1YTQ5MzNiMGRiM2U0MmMxODY0YmU0L3RhYmxlcmFuZ2U6NzA5NGU4ZDZlYjVhNDkzM2IwZGIzZTQyYzE4NjRiZTRfMy05LTEtMS0w_d1cc7810-bb9e-43bb-a50f-639ccaa9d4bc"
      unitRef="usd">1021000</us-gaap:ShortTermLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOjcwOTRlOGQ2ZWI1YTQ5MzNiMGRiM2U0MmMxODY0YmU0L3RhYmxlcmFuZ2U6NzA5NGU4ZDZlYjVhNDkzM2IwZGIzZTQyYzE4NjRiZTRfNC00LTEtMS0w_2a2d2724-faf8-4001-bb5f-85ec8b748c54"
      unitRef="usd">496000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOjcwOTRlOGQ2ZWI1YTQ5MzNiMGRiM2U0MmMxODY0YmU0L3RhYmxlcmFuZ2U6NzA5NGU4ZDZlYjVhNDkzM2IwZGIzZTQyYzE4NjRiZTRfNC02LTEtMS0w_c230bc52-fb28-44c2-892c-41a5c4c21e7b"
      unitRef="usd">454000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOjcwOTRlOGQ2ZWI1YTQ5MzNiMGRiM2U0MmMxODY0YmU0L3RhYmxlcmFuZ2U6NzA5NGU4ZDZlYjVhNDkzM2IwZGIzZTQyYzE4NjRiZTRfNC03LTEtMS0w_7f06a551-fad2-4c39-9cba-09631372785a"
      unitRef="usd">927000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOjcwOTRlOGQ2ZWI1YTQ5MzNiMGRiM2U0MmMxODY0YmU0L3RhYmxlcmFuZ2U6NzA5NGU4ZDZlYjVhNDkzM2IwZGIzZTQyYzE4NjRiZTRfNC05LTEtMS0w_e88f352d-3422-453c-af2c-f54d63a2652b"
      unitRef="usd">848000</us-gaap:VariableLeaseCost>
    <us-gaap:LeaseCost
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOjcwOTRlOGQ2ZWI1YTQ5MzNiMGRiM2U0MmMxODY0YmU0L3RhYmxlcmFuZ2U6NzA5NGU4ZDZlYjVhNDkzM2IwZGIzZTQyYzE4NjRiZTRfNS00LTEtMS0w_3bdfb883-f709-4446-8d85-f943678e7531"
      unitRef="usd">5615000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOjcwOTRlOGQ2ZWI1YTQ5MzNiMGRiM2U0MmMxODY0YmU0L3RhYmxlcmFuZ2U6NzA5NGU4ZDZlYjVhNDkzM2IwZGIzZTQyYzE4NjRiZTRfNS02LTEtMS0w_a771de13-9b1e-4719-b7e7-d7ac30217c1f"
      unitRef="usd">2507000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOjcwOTRlOGQ2ZWI1YTQ5MzNiMGRiM2U0MmMxODY0YmU0L3RhYmxlcmFuZ2U6NzA5NGU4ZDZlYjVhNDkzM2IwZGIzZTQyYzE4NjRiZTRfNS03LTEtMS0w_463079c6-21c3-4201-8cba-a8e7288eb0a4"
      unitRef="usd">8249000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOjcwOTRlOGQ2ZWI1YTQ5MzNiMGRiM2U0MmMxODY0YmU0L3RhYmxlcmFuZ2U6NzA5NGU4ZDZlYjVhNDkzM2IwZGIzZTQyYzE4NjRiZTRfNS05LTEtMS0w_37c60569-d6d2-4a21-86c7-ab7ae1f85e58"
      unitRef="usd">5141000</us-gaap:LeaseCost>
    <tyl:ScheduleOfLeasesAssetsAndLiabilitiesTableTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RleHRyZWdpb246NzU3MjY4MTMwMzNjNGExN2I0MWI3YTgzYjNlMGUwMmRfMTk2NA_7dde71b5-515f-46b0-8d3a-05772296a77e">&lt;div style="margin-top:18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Right-of-use lease assets and lease liabilities for our operating leases were recorded in the condensed consolidated balance sheets as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:18pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:86.257%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:59.916%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.647%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.357%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.986%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.394%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Assets:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating lease right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,230&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,734&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Liabilities:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases, short-term&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,666&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,904&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases, long-term&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,118&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,279&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,784&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,183&#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;</tyl:ScheduleOfLeasesAssetsAndLiabilitiesTableTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOmE3ZmNhZGJjYzcwMDQ5ODliZjgyNmQwNGNhMmEyN2ZlL3RhYmxlcmFuZ2U6YTdmY2FkYmNjNzAwNDk4OWJmODI2ZDA0Y2EyYTI3ZmVfMi0yLTEtMS0w_25883d4f-deb1-4de7-9ced-a03a5bd87a5d"
      unitRef="usd">28230000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOmE3ZmNhZGJjYzcwMDQ5ODliZjgyNmQwNGNhMmEyN2ZlL3RhYmxlcmFuZ2U6YTdmY2FkYmNjNzAwNDk4OWJmODI2ZDA0Y2EyYTI3ZmVfMi00LTEtMS0w_7cf7e7f8-63b3-4237-88ea-1ef732595743"
      unitRef="usd">18734000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOmE3ZmNhZGJjYzcwMDQ5ODliZjgyNmQwNGNhMmEyN2ZlL3RhYmxlcmFuZ2U6YTdmY2FkYmNjNzAwNDk4OWJmODI2ZDA0Y2EyYTI3ZmVfNC0yLTEtMS0w_36b181e7-d421-4fc1-8c02-165f21c16dea"
      unitRef="usd">9666000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOmE3ZmNhZGJjYzcwMDQ5ODliZjgyNmQwNGNhMmEyN2ZlL3RhYmxlcmFuZ2U6YTdmY2FkYmNjNzAwNDk4OWJmODI2ZDA0Y2EyYTI3ZmVfNC00LTEtMS0w_b8271f62-5eca-4344-bbd4-fa8d3827a361"
      unitRef="usd">5904000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOmE3ZmNhZGJjYzcwMDQ5ODliZjgyNmQwNGNhMmEyN2ZlL3RhYmxlcmFuZ2U6YTdmY2FkYmNjNzAwNDk4OWJmODI2ZDA0Y2EyYTI3ZmVfNS0yLTEtMS0w_3f2fc591-e435-4212-b9a0-26e78b34cd87"
      unitRef="usd">22118000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOmE3ZmNhZGJjYzcwMDQ5ODliZjgyNmQwNGNhMmEyN2ZlL3RhYmxlcmFuZ2U6YTdmY2FkYmNjNzAwNDk4OWJmODI2ZDA0Y2EyYTI3ZmVfNS00LTEtMS0w_ce9f21e5-e576-46b0-ae0d-2a6881274325"
      unitRef="usd">16279000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOmE3ZmNhZGJjYzcwMDQ5ODliZjgyNmQwNGNhMmEyN2ZlL3RhYmxlcmFuZ2U6YTdmY2FkYmNjNzAwNDk4OWJmODI2ZDA0Y2EyYTI3ZmVfNi0yLTEtMS0w_7eb33265-e5e7-458f-b1fc-23c3f3866d97"
      unitRef="usd">31784000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOmE3ZmNhZGJjYzcwMDQ5ODliZjgyNmQwNGNhMmEyN2ZlL3RhYmxlcmFuZ2U6YTdmY2FkYmNjNzAwNDk4OWJmODI2ZDA0Y2EyYTI3ZmVfNi00LTEtMS0w_ab320208-ef02-4cfc-a0c8-393e478395cd"
      unitRef="usd">22183000</us-gaap:OperatingLeaseLiability>
    <tyl:ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RleHRyZWdpb246NzU3MjY4MTMwMzNjNGExN2I0MWI3YTgzYjNlMGUwMmRfMTk3MQ_77744470-9ced-4bba-a965-3052018e63e5">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental information related to leases is as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.397%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:63.615%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.591%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.513%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.065%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:15.516%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Other Information&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Cash flows&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;:&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7.75pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cash amounts paid included in the measurement of lease liabilities:&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating cash outflows from operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,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 style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,379&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/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;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Right-of-use assets obtained in exchange for lease obligations (non-cash):&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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Operating leases&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,961&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;510&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%;text-decoration:underline"&gt;Lease term and discount rate:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average remaining lease term (years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3.85&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Weighted average discount rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2.51&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4.00&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</tyl:ScheduleOfSupplementalInformationRelatedToLeasesTableTextBlock>
    <us-gaap:OperatingLeasePayments
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOjRhMThiOTRkNjY1ODQ3ODk5ZGJkNDkyZWMzZjEzNGYyL3RhYmxlcmFuZ2U6NGExOGI5NGQ2NjU4NDc4OTlkYmQ0OTJlYzNmMTM0ZjJfNC0yLTEtMS0w_4d67fa4b-4f18-4ff3-9eb2-52a16b6f7500"
      unitRef="usd">6203000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOjRhMThiOTRkNjY1ODQ3ODk5ZGJkNDkyZWMzZjEzNGYyL3RhYmxlcmFuZ2U6NGExOGI5NGQ2NjU4NDc4OTlkYmQ0OTJlYzNmMTM0ZjJfNC00LTEtMS0w_7a753d33-9ad7-4504-80fa-50915b0f9c65"
      unitRef="usd">3379000</us-gaap:OperatingLeasePayments>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOjRhMThiOTRkNjY1ODQ3ODk5ZGJkNDkyZWMzZjEzNGYyL3RhYmxlcmFuZ2U6NGExOGI5NGQ2NjU4NDc4OTlkYmQ0OTJlYzNmMTM0ZjJfNy0yLTEtMS0w_abd17e62-e840-400f-9105-15148e3451f3"
      unitRef="usd">2961000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOjRhMThiOTRkNjY1ODQ3ODk5ZGJkNDkyZWMzZjEzNGYyL3RhYmxlcmFuZ2U6NGExOGI5NGQ2NjU4NDc4OTlkYmQ0OTJlYzNmMTM0ZjJfNy00LTEtMS0w_edfc3dd7-8857-49b3-83bf-ab9a507ff943"
      unitRef="usd">510000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOjRhMThiOTRkNjY1ODQ3ODk5ZGJkNDkyZWMzZjEzNGYyL3RhYmxlcmFuZ2U6NGExOGI5NGQ2NjU4NDc4OTlkYmQ0OTJlYzNmMTM0ZjJfMTAtMi0xLTEtMA_1ce13a4d-4116-4b66-a905-f4cc1e1ff54f">P3Y10M6D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="ic2efe4110eeb498d9a9216a6090cf6cb_I20200630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOjRhMThiOTRkNjY1ODQ3ODk5ZGJkNDkyZWMzZjEzNGYyL3RhYmxlcmFuZ2U6NGExOGI5NGQ2NjU4NDc4OTlkYmQ0OTJlYzNmMTM0ZjJfMTAtNC0xLTEtMA_2c3d54f7-e223-4700-96e8-e8a6d4f921a4">P4Y</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOjRhMThiOTRkNjY1ODQ3ODk5ZGJkNDkyZWMzZjEzNGYyL3RhYmxlcmFuZ2U6NGExOGI5NGQ2NjU4NDc4OTlkYmQ0OTJlYzNmMTM0ZjJfMTEtMi0xLTEtMA_bdd32a1d-f282-42fd-bc59-2d3a86297eaa"
      unitRef="number">0.0251</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="ic2efe4110eeb498d9a9216a6090cf6cb_I20200630"
      decimals="4"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOjRhMThiOTRkNjY1ODQ3ODk5ZGJkNDkyZWMzZjEzNGYyL3RhYmxlcmFuZ2U6NGExOGI5NGQ2NjU4NDc4OTlkYmQ0OTJlYzNmMTM0ZjJfMTEtNC0xLTEtMA_5491a215-6f4d-482b-95a2-514daa0ce3a5"
      unitRef="number">0.0400</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RleHRyZWdpb246NzU3MjY4MTMwMzNjNGExN2I0MWI3YTgzYjNlMGUwMmRfMTk2Mg_c3dade04-dc4e-44fd-839c-f9676bba10ff">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of&#160;June&#160;30, 2021, maturities of lease liabilities were as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:93.713%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:72.378%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.892%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:24.330%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Year ending December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021 (Remaining 2021)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,060&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,161&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,225&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,410&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,849&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;33,275&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Less: Interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(1,491)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Present value of operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31,784&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOmZjZmZlNzE5YTNjYjRhNmM5M2VmMmE2NDVjNWRlOGZiL3RhYmxlcmFuZ2U6ZmNmZmU3MTlhM2NiNGE2YzkzZWYyYTY0NWM1ZGU4ZmJfMS0yLTEtMS0w_2a6640c6-7036-4743-a5c9-fbbb5d97cacf"
      unitRef="usd">6060000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOmZjZmZlNzE5YTNjYjRhNmM5M2VmMmE2NDVjNWRlOGZiL3RhYmxlcmFuZ2U6ZmNmZmU3MTlhM2NiNGE2YzkzZWYyYTY0NWM1ZGU4ZmJfMi0yLTEtMS0w_4ce296db-23b8-4ab7-879c-47d9a9872b2c"
      unitRef="usd">9161000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOmZjZmZlNzE5YTNjYjRhNmM5M2VmMmE2NDVjNWRlOGZiL3RhYmxlcmFuZ2U6ZmNmZmU3MTlhM2NiNGE2YzkzZWYyYTY0NWM1ZGU4ZmJfMy0yLTEtMS0w_25024888-dd6b-4ce3-8b97-cced34ccdb7d"
      unitRef="usd">6570000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOmZjZmZlNzE5YTNjYjRhNmM5M2VmMmE2NDVjNWRlOGZiL3RhYmxlcmFuZ2U6ZmNmZmU3MTlhM2NiNGE2YzkzZWYyYTY0NWM1ZGU4ZmJfNC0yLTEtMS0w_79c8fd24-fe2d-4b2a-b7e2-ebfafb42ac04"
      unitRef="usd">5225000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOmZjZmZlNzE5YTNjYjRhNmM5M2VmMmE2NDVjNWRlOGZiL3RhYmxlcmFuZ2U6ZmNmZmU3MTlhM2NiNGE2YzkzZWYyYTY0NWM1ZGU4ZmJfNS0yLTEtMS0w_1c0ea867-f2b1-403c-a8eb-d63eb04fb8e6"
      unitRef="usd">3410000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <tyl:LesseeOperatingLeaseLiabilityToBePaidAfterYearFour
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOmZjZmZlNzE5YTNjYjRhNmM5M2VmMmE2NDVjNWRlOGZiL3RhYmxlcmFuZ2U6ZmNmZmU3MTlhM2NiNGE2YzkzZWYyYTY0NWM1ZGU4ZmJfNi0yLTEtMS0w_5b89546d-51e3-40d2-b394-02b4cee43883"
      unitRef="usd">2849000</tyl:LesseeOperatingLeaseLiabilityToBePaidAfterYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOmZjZmZlNzE5YTNjYjRhNmM5M2VmMmE2NDVjNWRlOGZiL3RhYmxlcmFuZ2U6ZmNmZmU3MTlhM2NiNGE2YzkzZWYyYTY0NWM1ZGU4ZmJfNy0yLTEtMS0w_95f7c964-f617-4955-be6f-e7a26835ea80"
      unitRef="usd">33275000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOmZjZmZlNzE5YTNjYjRhNmM5M2VmMmE2NDVjNWRlOGZiL3RhYmxlcmFuZ2U6ZmNmZmU3MTlhM2NiNGE2YzkzZWYyYTY0NWM1ZGU4ZmJfOC0yLTEtMS0w_c99b89de-babd-4a2e-983f-d9353744e6bb"
      unitRef="usd">1491000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOmZjZmZlNzE5YTNjYjRhNmM5M2VmMmE2NDVjNWRlOGZiL3RhYmxlcmFuZ2U6ZmNmZmU3MTlhM2NiNGE2YzkzZWYyYTY0NWM1ZGU4ZmJfOS0yLTEtMS0w_0572fe2a-856e-4c3d-bcce-c551a909da94"
      unitRef="usd">31784000</us-gaap:OperatingLeaseLiability>
    <us-gaap:LessorOperatingLeaseRenewalTerm
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RleHRyZWdpb246NzU3MjY4MTMwMzNjNGExN2I0MWI3YTgzYjNlMGUwMmRfMTM5OA_0f4b86f7-71c2-45a8-8631-9af1d53f39bc">P7Y</us-gaap:LessorOperatingLeaseRenewalTerm>
    <us-gaap:RentalIncomeNonoperating
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RleHRyZWdpb246NzU3MjY4MTMwMzNjNGExN2I0MWI3YTgzYjNlMGUwMmRfMTU5OQ_d10aeb93-1b9f-4ee3-8acf-75a907ec6c9d"
      unitRef="usd">296000</us-gaap:RentalIncomeNonoperating>
    <us-gaap:RentalIncomeNonoperating
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RleHRyZWdpb246NzU3MjY4MTMwMzNjNGExN2I0MWI3YTgzYjNlMGUwMmRfMTA5OTUxMTYyOTkyOQ_a808adfe-64ee-4819-860a-a3ac8e3816aa"
      unitRef="usd">590000</us-gaap:RentalIncomeNonoperating>
    <us-gaap:RentalIncomeNonoperating
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RleHRyZWdpb246NzU3MjY4MTMwMzNjNGExN2I0MWI3YTgzYjNlMGUwMmRfMTY0Mg_dde50ecc-bf00-4ec3-96eb-b015c04624e7"
      unitRef="usd">292000</us-gaap:RentalIncomeNonoperating>
    <us-gaap:RentalIncomeNonoperating
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RleHRyZWdpb246NzU3MjY4MTMwMzNjNGExN2I0MWI3YTgzYjNlMGUwMmRfMTA5OTUxMTYyOTkyMg_ece68a5c-1167-4004-b8a3-7e18e23786e0"
      unitRef="usd">566000</us-gaap:RentalIncomeNonoperating>
    <us-gaap:OperatingLeaseLeaseIncomeTableTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RleHRyZWdpb246NzU3MjY4MTMwMzNjNGExN2I0MWI3YTgzYjNlMGUwMmRfMTk3MA_872dc3fd-18e9-44d3-8f59-9a806ea400b6">As of&#160;June&#160;30, 2021, future minimum operating rental income based on contractual agreements is as follows:&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:75.877%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:64.410%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.148%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:32.042%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Year ending December 31,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Amount&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2021 (Remaining 2021)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;713&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2022&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,449&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2023&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,479&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2024&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,510&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;966&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,117&#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:OperatingLeaseLeaseIncomeTableTextBlock>
    <us-gaap:LessorOperatingLeasePaymentsToBeReceivedRemainderOfFiscalYear
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOmRjMmJkMWRjY2I4NDQ0YmZiMzJlOTUwYTU2ZjA2MDRmL3RhYmxlcmFuZ2U6ZGMyYmQxZGNjYjg0NDRiZmIzMmU5NTBhNTZmMDYwNGZfMS0yLTEtMS0w_c2b3e85e-4935-41ae-a85f-b327e720d415"
      unitRef="usd">713000</us-gaap:LessorOperatingLeasePaymentsToBeReceivedRemainderOfFiscalYear>
    <us-gaap:LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOmRjMmJkMWRjY2I4NDQ0YmZiMzJlOTUwYTU2ZjA2MDRmL3RhYmxlcmFuZ2U6ZGMyYmQxZGNjYjg0NDRiZmIzMmU5NTBhNTZmMDYwNGZfMi0yLTEtMS0w_d54a861a-807d-4c0d-a02d-0bd0f71e9a48"
      unitRef="usd">1449000</us-gaap:LessorOperatingLeasePaymentsToBeReceivedNextTwelveMonths>
    <us-gaap:LessorOperatingLeasePaymentsToBeReceivedTwoYears
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOmRjMmJkMWRjY2I4NDQ0YmZiMzJlOTUwYTU2ZjA2MDRmL3RhYmxlcmFuZ2U6ZGMyYmQxZGNjYjg0NDRiZmIzMmU5NTBhNTZmMDYwNGZfMy0yLTEtMS0w_4f4eb5bb-7e47-45f1-b26a-5cb907fec2fa"
      unitRef="usd">1479000</us-gaap:LessorOperatingLeasePaymentsToBeReceivedTwoYears>
    <us-gaap:LessorOperatingLeasePaymentsToBeReceivedThreeYears
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOmRjMmJkMWRjY2I4NDQ0YmZiMzJlOTUwYTU2ZjA2MDRmL3RhYmxlcmFuZ2U6ZGMyYmQxZGNjYjg0NDRiZmIzMmU5NTBhNTZmMDYwNGZfNC0yLTEtMS0w_3442f138-6e05-49cf-b047-a3e505d3527b"
      unitRef="usd">1510000</us-gaap:LessorOperatingLeasePaymentsToBeReceivedThreeYears>
    <us-gaap:LessorOperatingLeasePaymentsToBeReceivedFourYears
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOmRjMmJkMWRjY2I4NDQ0YmZiMzJlOTUwYTU2ZjA2MDRmL3RhYmxlcmFuZ2U6ZGMyYmQxZGNjYjg0NDRiZmIzMmU5NTBhNTZmMDYwNGZfNS0yLTEtMS0w_997f31c1-4978-41b6-9c44-d160fe95ee8b"
      unitRef="usd">966000</us-gaap:LessorOperatingLeasePaymentsToBeReceivedFourYears>
    <tyl:LessorOperatingLeasePaymentToBeReceivedAfterYearFour
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOmRjMmJkMWRjY2I4NDQ0YmZiMzJlOTUwYTU2ZjA2MDRmL3RhYmxlcmFuZ2U6ZGMyYmQxZGNjYjg0NDRiZmIzMmU5NTBhNTZmMDYwNGZfNi0yLTEtMS0w_c38038bb-9f89-4456-9d0b-f221230bed2b"
      unitRef="usd">0</tyl:LessorOperatingLeasePaymentToBeReceivedAfterYearFour>
    <us-gaap:LessorOperatingLeasePaymentsToBeReceived
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82MS9mcmFnOjc1NzI2ODEzMDMzYzRhMTdiNDFiN2E4M2IzZTBlMDJkL3RhYmxlOmRjMmJkMWRjY2I4NDQ0YmZiMzJlOTUwYTU2ZjA2MDRmL3RhYmxlcmFuZ2U6ZGMyYmQxZGNjYjg0NDRiZmIzMmU5NTBhNTZmMDYwNGZfNy0yLTEtMS0w_23737d48-814d-4bc9-9b9e-a2bbcb717fe6"
      unitRef="usd">6117000</us-gaap:LessorOperatingLeasePaymentsToBeReceived>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82NC9mcmFnOmRiOThmYzI4ODU3NDQ2MDlhMDg1ZjE5NjdjZDU3NmJmL3RleHRyZWdpb246ZGI5OGZjMjg4NTc0NDYwOWEwODVmMTk2N2NkNTc2YmZfMjMz_3124f65c-3da6-454f-9924-8cca9c14547a">Share-Based Compensation&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes share-based compensation expense related to share-based awards recorded in the condensed consolidated statements of income, pursuant to ASC 718, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Stock Compensation&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;:&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:42.759%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.911%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.771%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of subscriptions, software services and maintenance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,909&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,369&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,909&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,621&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,266&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,017&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,990&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,067&#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 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total share-based compensation expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,175&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,386&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td style="background-color:#cff0fc;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,899&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td style="background-color:#cff0fc;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,688&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82NC9mcmFnOmRiOThmYzI4ODU3NDQ2MDlhMDg1ZjE5NjdjZDU3NmJmL3RleHRyZWdpb246ZGI5OGZjMjg4NTc0NDYwOWEwODVmMTk2N2NkNTc2YmZfMjM0_64b0b8f9-9670-4091-85c8-3d7c0867f2fe">&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes share-based compensation expense related to share-based awards recorded in the condensed consolidated statements of income, pursuant to ASC 718, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Stock Compensation&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;:&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:42.759%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.384%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.204%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.911%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.771%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Cost of subscriptions, software services and maintenance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,909&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,369&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,909&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,621&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Selling, general and administrative expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;19,266&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,017&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;39,990&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,067&#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 2px 12.25pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total share-based compensation expense&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;25,175&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,386&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td style="background-color:#cff0fc;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;50,899&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cff0fc;padding:0 1pt"/&gt;&lt;td style="background-color:#cff0fc;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,688&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cff0fc;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax
      contextRef="i4a8fe16a06c147ba9ae939fd2a93627e_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82NC9mcmFnOmRiOThmYzI4ODU3NDQ2MDlhMDg1ZjE5NjdjZDU3NmJmL3RhYmxlOmVmNmM1Njk3MjI1NTQzMWNiZTg3ZDQ3MjI0MDhhMDMyL3RhYmxlcmFuZ2U6ZWY2YzU2OTcyMjU1NDMxY2JlODdkNDcyMjQwOGEwMzJfMi0yLTEtMS0w_8ff81f36-2d57-4818-bacd-d34ee5bb29cd"
      unitRef="usd">5909000</us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax>
    <us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax
      contextRef="i9b1c9a25eda54c07be3c60991b9e7777_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82NC9mcmFnOmRiOThmYzI4ODU3NDQ2MDlhMDg1ZjE5NjdjZDU3NmJmL3RhYmxlOmVmNmM1Njk3MjI1NTQzMWNiZTg3ZDQ3MjI0MDhhMDMyL3RhYmxlcmFuZ2U6ZWY2YzU2OTcyMjU1NDMxY2JlODdkNDcyMjQwOGEwMzJfMi00LTEtMS0w_7fcbed9e-48b8-4065-b7ad-c9e77a0bb89e"
      unitRef="usd">4369000</us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax>
    <us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax
      contextRef="i41d40452c5094ca89018ba6d3d089c0d_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82NC9mcmFnOmRiOThmYzI4ODU3NDQ2MDlhMDg1ZjE5NjdjZDU3NmJmL3RhYmxlOmVmNmM1Njk3MjI1NTQzMWNiZTg3ZDQ3MjI0MDhhMDMyL3RhYmxlcmFuZ2U6ZWY2YzU2OTcyMjU1NDMxY2JlODdkNDcyMjQwOGEwMzJfMi02LTEtMS0w_a69c23dd-aef9-4052-bfa6-b1a55d936a40"
      unitRef="usd">10909000</us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax>
    <us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax
      contextRef="if3f842c95f6c4ca08ceae3b0f191a20e_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82NC9mcmFnOmRiOThmYzI4ODU3NDQ2MDlhMDg1ZjE5NjdjZDU3NmJmL3RhYmxlOmVmNmM1Njk3MjI1NTQzMWNiZTg3ZDQ3MjI0MDhhMDMyL3RhYmxlcmFuZ2U6ZWY2YzU2OTcyMjU1NDMxY2JlODdkNDcyMjQwOGEwMzJfMi04LTEtMS0w_eb2c82e9-2fe4-4a95-be8f-749fe2e227b4"
      unitRef="usd">8621000</us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax>
    <us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax
      contextRef="if1b8a9d2b9cd4bd8bc66667e6b769c9b_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82NC9mcmFnOmRiOThmYzI4ODU3NDQ2MDlhMDg1ZjE5NjdjZDU3NmJmL3RhYmxlOmVmNmM1Njk3MjI1NTQzMWNiZTg3ZDQ3MjI0MDhhMDMyL3RhYmxlcmFuZ2U6ZWY2YzU2OTcyMjU1NDMxY2JlODdkNDcyMjQwOGEwMzJfMy0yLTEtMS0w_43be0719-59b6-4eb9-a112-b7bbde0581f2"
      unitRef="usd">19266000</us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax>
    <us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax
      contextRef="ic794416393ba4479bdcb6fe51a07f8fe_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82NC9mcmFnOmRiOThmYzI4ODU3NDQ2MDlhMDg1ZjE5NjdjZDU3NmJmL3RhYmxlOmVmNmM1Njk3MjI1NTQzMWNiZTg3ZDQ3MjI0MDhhMDMyL3RhYmxlcmFuZ2U6ZWY2YzU2OTcyMjU1NDMxY2JlODdkNDcyMjQwOGEwMzJfMy00LTEtMS0w_e570e859-9b50-4372-9d62-d64861e9f4d4"
      unitRef="usd">14017000</us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax>
    <us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax
      contextRef="i4ccd87a7c78d4f258d184e7c8cb37fab_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82NC9mcmFnOmRiOThmYzI4ODU3NDQ2MDlhMDg1ZjE5NjdjZDU3NmJmL3RhYmxlOmVmNmM1Njk3MjI1NTQzMWNiZTg3ZDQ3MjI0MDhhMDMyL3RhYmxlcmFuZ2U6ZWY2YzU2OTcyMjU1NDMxY2JlODdkNDcyMjQwOGEwMzJfMy02LTEtMS0w_47b9cb4b-0a9c-429f-9973-50b04db4fcbc"
      unitRef="usd">39990000</us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax>
    <us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax
      contextRef="i15754b487cb1431a93109965d01a1739_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82NC9mcmFnOmRiOThmYzI4ODU3NDQ2MDlhMDg1ZjE5NjdjZDU3NmJmL3RhYmxlOmVmNmM1Njk3MjI1NTQzMWNiZTg3ZDQ3MjI0MDhhMDMyL3RhYmxlcmFuZ2U6ZWY2YzU2OTcyMjU1NDMxY2JlODdkNDcyMjQwOGEwMzJfMy04LTEtMS0w_8dc1de9a-b3ee-481a-b35d-9be86205cd84"
      unitRef="usd">27067000</us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax>
    <us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82NC9mcmFnOmRiOThmYzI4ODU3NDQ2MDlhMDg1ZjE5NjdjZDU3NmJmL3RhYmxlOmVmNmM1Njk3MjI1NTQzMWNiZTg3ZDQ3MjI0MDhhMDMyL3RhYmxlcmFuZ2U6ZWY2YzU2OTcyMjU1NDMxY2JlODdkNDcyMjQwOGEwMzJfNC0yLTEtMS0w_10af7ae8-c309-4482-a91e-0a15628979b7"
      unitRef="usd">25175000</us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax>
    <us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82NC9mcmFnOmRiOThmYzI4ODU3NDQ2MDlhMDg1ZjE5NjdjZDU3NmJmL3RhYmxlOmVmNmM1Njk3MjI1NTQzMWNiZTg3ZDQ3MjI0MDhhMDMyL3RhYmxlcmFuZ2U6ZWY2YzU2OTcyMjU1NDMxY2JlODdkNDcyMjQwOGEwMzJfNC00LTEtMS0w_5958f2c1-f0aa-4db9-a739-036edd726300"
      unitRef="usd">18386000</us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax>
    <us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82NC9mcmFnOmRiOThmYzI4ODU3NDQ2MDlhMDg1ZjE5NjdjZDU3NmJmL3RhYmxlOmVmNmM1Njk3MjI1NTQzMWNiZTg3ZDQ3MjI0MDhhMDMyL3RhYmxlcmFuZ2U6ZWY2YzU2OTcyMjU1NDMxY2JlODdkNDcyMjQwOGEwMzJfNC02LTEtMS0w_ada2d2a3-e0dc-4a0c-a61f-e2a7be961f92"
      unitRef="usd">50899000</us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax>
    <us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82NC9mcmFnOmRiOThmYzI4ODU3NDQ2MDlhMDg1ZjE5NjdjZDU3NmJmL3RhYmxlOmVmNmM1Njk3MjI1NTQzMWNiZTg3ZDQ3MjI0MDhhMDMyL3RhYmxlcmFuZ2U6ZWY2YzU2OTcyMjU1NDMxY2JlODdkNDcyMjQwOGEwMzJfNC04LTEtMS0w_530eb9d1-0f71-4629-a85b-31c669541bca"
      unitRef="usd">35688000</us-gaap:AllocatedShareBasedCompensationExpenseNetOfTax>
    <us-gaap:SegmentReportingDisclosureTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RleHRyZWdpb246YjkyMzk0ODBiNmQxNGJiOTk0NmVjYmJjMjE5MjAwYTZfMzUyOQ_4645af8c-2f8c-4241-971f-c27699a47c4d">Segment and Related Information&lt;div&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We provide integrated information management solutions and services for the public sector, with a focus on local governments.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We provide our software systems and services and appraisal services through seven business units, which focus on the following products:&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:56.25pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;financial management, education and planning, regulatory and maintenance software solutions;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:56.25pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;financial management, municipal courts, planning, regulatory and maintenance software solutions;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:56.25pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;courts and justice and public safety software solutions; &lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:56.25pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;data and insights solutions;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:56.25pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;platform technologies solutions including case management and business management processing;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:56.25pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;NIC digital government and payments solutions; and&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:56.25pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt"&gt;appraisal and tax software solutions, land and vital records management software solutions, and property appraisal services.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In accordance with ASC 280-10, &lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Segment Reporting&lt;/span&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;, we report our results in three segments. The financial management, education and planning, regulatory and maintenance software solutions unit; financial management, municipal courts, planning, regulatory and maintenance software solutions unit; courts and justice and public safety software solutions unit; data and insights solutions; and platform technologies solutions meet the criteria for aggregation and are presented in the Enterprise Software (&#x201c;ES&#x201d;) reportable segment. The ES segment provides public sector entities with software systems and services to meet their information technology and automation needs for mission-critical &#x201c;back-office&#x201d; functions such as: financial management and education, courts and justice, public safety, planning, regulatory and maintenance, data and insights, and platform technologies processes. The Appraisal and Tax (&#x201c;A&amp;amp;T&#x201d;) segment provides systems and software that automate the appraisal and assessment of real and personal property, land and vital records management as well as provides property appraisal outsourcing services for local governments and taxing authorities. Property appraisal outsourcing services include: the physical inspection of commercial and residential properties; data collection and processing; computer analysis for property valuation; &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;preparation of tax rolls; community education; and arbitration between taxpayers and the assessing jurisdiction. On April 21, 2021, the Company acquired NIC resulting in a new reportable segment, as its operating results meet the criteria of a reportable segment.  The operating results of NIC are included with the operating results of the NIC segment from the date of acquisition.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:12pt;margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We evaluate performance based on several factors, of which the primary financial measure is business segment operating income. We define segment operating income for our business units as income before non-cash amortization of intangible assets associated with their acquisitions, interest expense and income taxes. Segment operating income includes intercompany transactions. The majority of intercompany transactions relate to contracts involving more than one unit and are valued based on the contractual arrangement. Corporate segment operating income primarily consists of compensation costs for the executive management team and certain accounting and administrative staff and share-based compensation expense for the entire company. Corporate segment operating income also includes revenues and expenses related to a company-wide user conference. &lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of January 1, 2021, certain administrative costs related to information technology, which were previously allocated and reported in the ES and A&amp;amp;T segments, were moved to the Corporate segment to reflect changes in the way in which management makes operating decisions, allocates resources, and manages the growth and profitability of the Company. Prior year amounts for all segments have been adjusted to reflect the segment change.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:30.030%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.143%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.143%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.941%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.325%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.148%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;For the three months ended 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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Enterprise&lt;br/&gt;Software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Appraisal&#160;and&#160;Tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;NIC&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Totals&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenues&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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&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:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software licenses and royalties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,779&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,825&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,604&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98,407&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,870&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;93,281&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;199,558&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,972&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,722&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,643&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,337&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Maintenance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;110,010&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,456&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;155&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;119,621&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Appraisal services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,265&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,265&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Hardware and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,728&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,939&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,690&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intercompany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,605&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,621)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;277,501&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,177&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99,079&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,682)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;404,075&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Segment operating income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;94,561&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,689&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,931&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(64,647)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61,534&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:30.332%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.650%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;For the three months ended June 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Enterprise&lt;br/&gt;Software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Appraisal&#160;and&#160;Tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;NIC&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Totals&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenues&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:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software licenses and royalties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,683&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,342&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,025&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,128&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,510&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,638&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,899&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,755&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,654&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Maintenance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,424&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;116,760&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Appraisal services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,696&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,696&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Hardware and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,318&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intercompany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,533&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,535)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;247,879&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,747&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,535)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;271,091&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Segment operating income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82,080&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,767&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(35,108)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,739&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:27.993%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.935%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.649%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;For the six months ended June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Enterprise&lt;br/&gt;Software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Appraisal&#160;and&#160;Tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;NIC&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Totals&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenues&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:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software licenses and royalties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,826&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,711&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,537&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;193,238&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,518&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;93,281&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;302,037&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,802&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,643&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100,977&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Maintenance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;219,793&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,785&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;155&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;238,733&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Appraisal services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,730&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,730&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Hardware and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,854&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;70&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,939&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,863&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intercompany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,866&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,897)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;547,109&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60,647&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99,079&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,958)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;698,877&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Segment operating income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;187,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,948&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,931&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(115,196)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;113,118&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:31.105%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.164%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.164%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.929%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.635%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.728%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;For the six months ended June 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Enterprise&lt;br/&gt;Software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Appraisal&#160;and&#160;Tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;NIC&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Totals&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenues&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:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software licenses and royalties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,634&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,128&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,762&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;155,772&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,589&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;167,361&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;83,848&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,939&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;95,787&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Maintenance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;212,177&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,948&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;231,125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Appraisal services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,459&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,459&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Hardware and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,091&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;45&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intercompany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,534&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,554)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;498,056&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,128&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,552)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;547,632&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Segment operating income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;155,747&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,309&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(70,005)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;102,051&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:47.948%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.971%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.759%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.824%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.971%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.031%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Reconciliation of reportable segment operating income to the Company's consolidated totals:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total segment operating income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61,534&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,739&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;113,118&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;102,051&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of acquired software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,823)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,006)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(19,787)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(16,033)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of customer and trade name intangibles&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,420)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,392)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(16,832)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,784)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other (expense) income including interest expense, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12,199)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;470&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12,111)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,460&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income before income taxes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,092&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,811&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64,388&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;76,694&#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:SegmentReportingDisclosureTextBlock>
    <tyl:NumberOfBusinessUnits
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RleHRyZWdpb246YjkyMzk0ODBiNmQxNGJiOTk0NmVjYmJjMjE5MjAwYTZfMjQ0_cd9e8bcf-2a1e-47d6-b59d-440588f7ab6b"
      unitRef="business_unit">7</tyl:NumberOfBusinessUnits>
    <us-gaap:NumberOfReportableSegments
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RleHRyZWdpb246YjkyMzk0ODBiNmQxNGJiOTk0NmVjYmJjMjE5MjAwYTZfODA3_378bf782-2035-4aa1-87c5-279089ab61e6"
      unitRef="segment">3</us-gaap:NumberOfReportableSegments>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RleHRyZWdpb246YjkyMzk0ODBiNmQxNGJiOTk0NmVjYmJjMjE5MjAwYTZfMzUyNw_2ddfe02c-26ff-4145-a440-e187eed9f7a6">&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of January 1, 2021, certain administrative costs related to information technology, which were previously allocated and reported in the ES and A&amp;amp;T segments, were moved to the Corporate segment to reflect changes in the way in which management makes operating decisions, allocates resources, and manages the growth and profitability of the Company. Prior year amounts for all segments have been adjusted to reflect the segment change.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.561%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:30.030%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.143%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.143%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.941%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.325%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.534%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.148%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;For the three months ended 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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Enterprise&lt;br/&gt;Software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Appraisal&#160;and&#160;Tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;NIC&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Totals&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenues&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:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&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:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software licenses and royalties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,779&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,825&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,604&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;98,407&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,870&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;93,281&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;199,558&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;42,972&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,722&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,643&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,337&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Maintenance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;110,010&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,456&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;155&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;119,621&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Appraisal services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,265&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,265&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Hardware and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,728&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;23&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,939&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,690&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intercompany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,605&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,621)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;277,501&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,177&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99,079&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,682)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;404,075&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Segment operating income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;94,561&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,689&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,931&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(64,647)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61,534&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:30.332%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.595%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.650%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;For the three months ended June 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Enterprise&lt;br/&gt;Software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Appraisal&#160;and&#160;Tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;NIC&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Totals&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenues&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:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software licenses and royalties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,683&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,342&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,025&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;79,128&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,510&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,638&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,899&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,755&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,654&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Maintenance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;107,336&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,424&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;116,760&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Appraisal services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,696&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,696&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Hardware and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;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;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,318&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intercompany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,533&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,535)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;247,879&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,747&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,535)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;271,091&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Segment operating income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;82,080&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,767&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(35,108)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,739&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:27.993%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.081%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.935%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.011%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.649%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;For the six months ended June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Enterprise&lt;br/&gt;Software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Appraisal&#160;and&#160;Tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;NIC&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Totals&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenues&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:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software licenses and royalties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;28,826&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,711&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,537&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;193,238&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,518&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;93,281&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;302,037&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,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;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;9,802&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,643&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100,977&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Maintenance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;219,793&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,785&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;155&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;238,733&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Appraisal services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,730&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,730&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Hardware and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,854&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;70&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,939&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,863&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intercompany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,866&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,897)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;547,109&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60,647&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99,079&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,958)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;698,877&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Segment operating income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;187,435&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,948&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,931&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(115,196)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;113,118&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.415%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:31.105%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.164%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:13.164%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.929%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:9.635%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.535%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.728%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;For the six months ended June 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Enterprise&lt;br/&gt;Software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Appraisal&#160;and&#160;Tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;NIC&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Totals&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenues&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:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software licenses and royalties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,634&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,128&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,762&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;155,772&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,589&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;167,361&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;83,848&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,939&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;95,787&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Maintenance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;212,177&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;18,948&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;231,125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Appraisal services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,459&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,459&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Hardware and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,091&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;45&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intercompany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,534&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,554)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;498,056&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,128&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,552)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;547,632&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Segment operating income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;155,747&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16,309&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(70,005)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;102,051&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:3pt double #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iee8d77160e6c4333b95208bd222f805f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfMy0yLTEtMS0w_297c5239-4532-4401-8ea0-0686b5e838f4"
      unitRef="usd">15779000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7a8d9e226eee4e6da650caf58f7974b8_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfMy00LTEtMS0w_8673f1c7-a928-4cfe-974c-6ddf51157a67"
      unitRef="usd">1825000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="icbce6277e0d943de9f100c36369968c3_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfMy02LTEtMS0xMTI0_95f3c5b1-2c58-4ce2-8fdc-36a7eaf7dc66"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="idfddac08ca4848a7832555c1611581ae_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfMy02LTEtMS0w_b5c82ed6-9d03-4c99-ae4f-1606344f6abe"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iff9c0acb6b7344b5b45e77a7b3612602_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfMy04LTEtMS0w_baaa4104-0fda-4285-83d3-65ad2c046fbe"
      unitRef="usd">17604000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i464f89f3cf244a7ab855d65f64693f9c_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfNC0yLTEtMS0w_e332f6c2-3674-4329-a026-a170998739fe"
      unitRef="usd">98407000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8d25faa0b25e4bb691a0d9db15b61b6b_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfNC00LTEtMS0w_7b26c2ab-0dde-4430-b859-381524043616"
      unitRef="usd">7870000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7f9b1e26017b4c49890291ca9bc3d351_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfNC02LTEtMS0xMTI0_94607b5d-f662-4390-a246-ae0f02e419a1"
      unitRef="usd">93281000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4588d4cfa4f649d983d44bba9e250d5d_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfNC02LTEtMS0w_da0dd6a4-a9ff-49c5-b0fe-93e4f051573b"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i762704e1a35b429a9dfa9136d715f7e5_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfNC04LTEtMS0w_89f11c24-37bf-476c-9a22-1e93e2382b6a"
      unitRef="usd">199558000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5090f7421ba244d597adfbbd35d65fdb_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfNS0yLTEtMS0w_ae6cbb60-d307-463b-924f-d9fce406e96e"
      unitRef="usd">42972000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i252a3e6c03354589a9c68d4fe24c31e9_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfNS00LTEtMS0w_37a9b2bb-b7ec-4162-a2aa-79c5ddc7beac"
      unitRef="usd">4722000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2a14677f30664cd6816427db3eda6603_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfNS02LTEtMS0xMTI0_14665fea-2649-4173-9372-f7836dd516cd"
      unitRef="usd">5643000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ibffc94aa5e5b4343a85b77f20d1d4561_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfNS02LTEtMS0w_0b2c3eea-7ac9-4c85-ba06-da94d10e817e"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib711505f723141cb9dfbfa59bc6e5306_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfNS04LTEtMS0w_00acd21a-73db-4ee5-808f-82fd90317f0e"
      unitRef="usd">53337000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4107cdfecc03442b85886421117e1660_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfNi0yLTEtMS0w_5ce770db-bb08-4519-8315-b7416544dac8"
      unitRef="usd">110010000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6e081b603bde424cb2407de98b64fbfc_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfNi00LTEtMS0w_f2b32269-ede0-46c2-9226-9776dea2a902"
      unitRef="usd">9456000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6e2610b2e36b4d79bb459e74df5050a9_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfNi02LTEtMS0xMTI0_28a3e314-d9a8-49ac-8339-305368759880"
      unitRef="usd">155000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i14ffeb41176f404d8d2ba988feabb194_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfNi02LTEtMS0w_93ebcd82-2ef3-43aa-96bf-aa6c51c9e4f2"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i56b29aa45d054afea997c695e0494103_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfNi04LTEtMS0w_ae392171-2863-4cb6-a2c9-0ef3a09aa70d"
      unitRef="usd">119621000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i672b26490ead409e8af04c5e5c3a35bb_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfNy0yLTEtMS0w_52cfcf33-ca21-4dec-82b3-39bf5cd82f4f"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i955875b62d134469a742d7849bd965d7_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfNy00LTEtMS0w_c00946ab-f5f3-4cc1-a785-3484ef856d76"
      unitRef="usd">6265000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia2953c6add454614b2d7aa2693502268_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfNy02LTEtMS0xMTI5_3a1d07fd-d91d-4db3-8952-bc3ea96a699e"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2880ec82d6a646baabe5b1bfab866489_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfNy02LTEtMS0w_f6723e9f-a36b-490a-85f4-2e6f5bc9861d"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7b8510cf6b5741989da85842c51a18a1_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfNy04LTEtMS0w_1329f696-eafd-42f8-990e-a090249e8921"
      unitRef="usd">6265000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4fe6c162a0ac41efbd4b3c6afa8511c1_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfOC0yLTEtMS0w_0e24aef0-e81b-4bd1-85d1-2b4bd631cc75"
      unitRef="usd">4728000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i00cb8fc6f39f43228274ac3c2c590d97_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfOC00LTEtMS0w_9605d6ff-68f3-42f6-b4e0-790a18b04341"
      unitRef="usd">23000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i504c273934084ccca8d8ff502017a1f7_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfOC02LTEtMS0xMTI5_5171d71a-fdd4-4f1c-9eab-47a5c35a83fb"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib80797ec3ac9451a9bfa2be87c176f28_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfOC02LTEtMS0w_3ef53d7f-5a35-4b98-b664-1228cf16af9a"
      unitRef="usd">2939000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id3ba5507927449dcba67da90101c9966_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfOC04LTEtMS0w_d34f7062-c615-488c-a710-08604271ef41"
      unitRef="usd">7690000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0d11219b0e8c4daabef6d351e69c5719_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfOS0yLTEtMS0w_24951650-f2b8-45b9-8df7-dc72a2387e66"
      unitRef="usd">5605000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i15e67631b0d74b51b4262afa728cecb5_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfOS00LTEtMS0w_d504c670-17d2-4a62-a865-5011b2fb6123"
      unitRef="usd">16000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0b6d703d8e9747d5912f4900a3911b80_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfOS02LTEtMS0xMTI5_b515dd67-8d47-4389-b7bf-16393c8d3a65"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iecaf98d4530d4028a1d8c78b423edd7d_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfOS02LTEtMS0w_afd3c790-fa4d-471b-a522-54b7ecd2f4a5"
      unitRef="usd">-5621000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4f0b050c790742eea114c36918bb5ade_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfMTAtMi0xLTEtMA_acfecff7-954e-42ca-a66b-32d118b5ff6b"
      unitRef="usd">277501000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib3c41659211142d795e06226ddd19e6f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfMTAtNC0xLTEtMA_ee2052c6-9957-4500-b231-45b02a08131f"
      unitRef="usd">30177000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0318eca17f3b4e69ac1e2318c5594870_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfMTAtNi0xLTEtMTEyOQ_3b96ebd4-74c2-4958-b55d-5e3293a46789"
      unitRef="usd">99079000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3a9d476ea4df4e8faea92d704ff25436_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfMTAtNi0xLTEtMA_96ccc63d-0f93-4efc-a172-e623499826a2"
      unitRef="usd">-2682000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfMTAtOC0xLTEtMA_17aa621f-fb4a-4e93-9004-8ddf514a5bd7"
      unitRef="usd">404075000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:OperatingIncomeLoss
      contextRef="i4f0b050c790742eea114c36918bb5ade_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfMTEtMi0xLTEtMA_fa98639f-75e2-42b9-aa5f-878b291455e9"
      unitRef="usd">94561000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ib3c41659211142d795e06226ddd19e6f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfMTEtNC0xLTEtMA_1b82f301-e912-43bc-8381-ea38164c3654"
      unitRef="usd">8689000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i0318eca17f3b4e69ac1e2318c5594870_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfMTEtNi0xLTEtMTEyOQ_71d4ba30-f13d-4ba8-ab96-e78c9d580067"
      unitRef="usd">22931000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i3a9d476ea4df4e8faea92d704ff25436_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfMTEtNi0xLTEtMA_5f1eae85-4329-4732-8298-c103beafd50b"
      unitRef="usd">-64647000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i01429585b2f443bbb2e87cc04edf964f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjhkMWQ2ZTkwYTY0MTQxNjc5YzRkNWI1ZDkyMTBlYTMzL3RhYmxlcmFuZ2U6OGQxZDZlOTBhNjQxNDE2NzljNGQ1YjVkOTIxMGVhMzNfMTEtOC0xLTEtMA_20f58dfe-6a85-48ac-bcfa-f9ae6b485da0"
      unitRef="usd">61534000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6411a98ce51c4c658d6f11fe1534b14d_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfMy0yLTEtMS0w_62d3bf59-4864-4654-a55b-d1cfda4dc03c"
      unitRef="usd">14683000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8d1d72ecc57941ed8579cfcd03d48a6c_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfMy00LTEtMS0w_753a1968-373b-4a41-bf2c-cb59c84d8388"
      unitRef="usd">2342000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if77aa18e65824023b1f9856303314946_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfMy02LTEtMS0xMzY5_29a187dc-3808-41b6-8dfa-4d0e66855e77"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id834e9c253a2471faeb642a484616fb2_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfMy02LTEtMS0w_2e77098f-a25c-459e-9199-3ee61875a697"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i471f513f21dc43008bb6dc2a5699f56b_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfMy04LTEtMS0w_638823da-203d-4216-b089-49a98a063bcd"
      unitRef="usd">17025000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia4beab9e1d2e4f79b72254ec90d09cf5_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfNC0yLTEtMS0w_0e120171-ae35-4ebd-b929-35dcb1be3936"
      unitRef="usd">79128000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if47fe62787a44955a9f83ab128cff703_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfNC00LTEtMS0w_fda7833d-fd2f-4cbe-97a3-dca7242cb4d2"
      unitRef="usd">6510000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7137e49090e243eb8de7ede244f5a443_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfNC02LTEtMS0xMzY5_33318e34-5d4a-4671-858d-73fd74e5116f"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9eab7ebb85ae4b26965f0b7528cf7faf_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfNC02LTEtMS0w_1d0a812f-94fa-4efe-be68-6da8528b6546"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia49965582f304266a1c5a699c58c806e_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfNC04LTEtMS0w_c4a7091d-47c1-4051-b907-a356ed38a3e0"
      unitRef="usd">85638000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i72ff31f63b594c6fb64ef8b6c9373209_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfNS0yLTEtMS0w_cdde7143-0bd2-4dd5-934e-4bd93c05d5e5"
      unitRef="usd">38899000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2f311dcb79bd47faa1a0c7e85996e859_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfNS00LTEtMS0w_dc180f97-0e7c-4246-9b2c-6ac2b188baeb"
      unitRef="usd">4755000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2f90c9780132420caf10e16190f1e992_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfNS02LTEtMS0xMzY5_2fe6d418-a738-4111-8c2e-4f255b65dc66"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i06af72f30ec54d3abf8c6f33d6a9a95e_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfNS02LTEtMS0w_8370f640-b4b0-4f31-8f4b-d380246909ce"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib10b64cc7a4b438cac7af40d5fdc5471_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfNS04LTEtMS0w_e6c9b895-ae04-45b2-951d-787ed8724970"
      unitRef="usd">43654000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i96e23002605d4d1697566294e379a675_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfNi0yLTEtMS0w_66d8fc0b-73eb-4e27-827a-6db498862640"
      unitRef="usd">107336000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6a4ef839fa074455bbb8ce9717d219d4_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfNi00LTEtMS0w_c0d11e0d-1ef1-4799-affe-a082c56a88c9"
      unitRef="usd">9424000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if2262648363e46f290869451d28ea8a5_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfNi02LTEtMS0xMzY5_1e94c994-a1eb-496c-b9bd-63d0c79e5a19"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1e7b74bcc00d48b7b63fa635cce2a97c_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfNi02LTEtMS0w_4589b65b-87a2-4cb2-b4fb-2742a9977623"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5a81415a56354bb0b0459e750384de90_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfNi04LTEtMS0w_4a9eb65c-de2f-45b9-8da7-2a874364c4ad"
      unitRef="usd">116760000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i10e63ab83c0f4759a44406708748a24a_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfNy0yLTEtMS0w_0cc79855-4fb8-4962-a541-e8480dfa8114"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i412a5e4f8608434b9082d8bf7003b8cc_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfNy00LTEtMS0w_19b48a70-dac0-4692-bbd2-05b9ad64f07e"
      unitRef="usd">4696000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5d58f6b6ebd2430ab37ae50addfc0631_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfNy02LTEtMS0xMzY5_d658ccf0-8c5a-4790-94b5-2b4239879ab9"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i459e218349084968921ad7da5067f188_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfNy02LTEtMS0w_b69fc0ba-6912-4caf-bf0b-e36d86dbad20"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6d346a335a65458c9d056436146d1543_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfNy04LTEtMS0w_fd82ad16-5b32-4448-ace5-6969ace715e8"
      unitRef="usd">4696000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="icf5a7b4e1e1d4b2c849d63e7719aa1c1_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfOC0yLTEtMS0w_aea54c7c-4514-402c-af12-fc1adcd32880"
      unitRef="usd">3300000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5ab226c10c3f44f9b0774361873c2acb_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfOC00LTEtMS0w_0027e9f5-ddf9-4e21-bbb0-66a3bcb529c6"
      unitRef="usd">18000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i833f49084b1349dc9f4966679fea1f79_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfOC02LTEtMS0xMzY5_cfa9605c-482b-4e96-a4a3-b2c2d1d1d4aa"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i041790a0dd564e179e2f553807cda63e_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfOC02LTEtMS0w_1ee96784-6921-48b9-b5ae-689e5f9f89e4"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="icbfc57dec0b14941ae5c3b1381abf2d6_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfOC04LTEtMS0w_cf27ec09-d5f6-43e1-9f1e-1ee46853be57"
      unitRef="usd">3318000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="icb7a62043e864ca3ba274c4d0ee7fd5a_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfOS0yLTEtMS0w_e3c8f28a-8294-4bd6-b883-8124e69a9124"
      unitRef="usd">4533000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1743162a352742ddb5d63a3c534877c8_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfOS00LTEtMS0w_0ac06106-23f0-434f-a803-7695c0e96719"
      unitRef="usd">2000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia6aca4023bae4d52ad6559e62aaaa8d5_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfOS02LTEtMS0xMzY5_72b798cc-300e-41d5-9664-841160cfec34"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i530343aedf1542acb345b58e1a8b03fc_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfOS02LTEtMS0w_c2f7fb81-08c7-4ffe-8721-5be7195bf4c9"
      unitRef="usd">-4535000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie49b913b16a44731bc4e1becaaf88354_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfMTAtMi0xLTEtMA_71f46591-77c4-4fc3-a7b7-e66361206944"
      unitRef="usd">247879000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i351148986c4c428195125f3c8b792e16_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfMTAtNC0xLTEtMA_2e0afba1-f686-4060-abe9-b951a52c4946"
      unitRef="usd">27747000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1f35ce741650447488089a0f531ebddd_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfMTAtNi0xLTEtMTM2OQ_aa76271b-b94d-4aa5-aee4-0b63764d4882"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0788a4ad6e074304bce0b8cb5f386cbc_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfMTAtNi0xLTEtMA_63836f4f-de85-4346-9299-b3080dc77b95"
      unitRef="usd">-4535000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfMTAtOC0xLTEtMA_342a9ec8-6787-48da-844f-225c560d72b1"
      unitRef="usd">271091000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:OperatingIncomeLoss
      contextRef="ie49b913b16a44731bc4e1becaaf88354_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfMTEtMi0xLTEtMA_b87e8736-784e-442f-b51c-f00a2f31fcb0"
      unitRef="usd">82080000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i351148986c4c428195125f3c8b792e16_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfMTEtNC0xLTEtMA_7d59fdb4-28f3-457d-a770-3c4fe636023d"
      unitRef="usd">7767000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i1f35ce741650447488089a0f531ebddd_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfMTEtNi0xLTEtMTM2OQ_b1fb2689-eb3b-40cc-bed4-1f47ec678979"
      unitRef="usd">0</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i0788a4ad6e074304bce0b8cb5f386cbc_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfMTEtNi0xLTEtMA_e67cdf06-4cc9-41f7-9602-ffc1f0bbb520"
      unitRef="usd">-35108000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i2f83d239156f4ae88726a1c0293d19a8_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmM4NGM2YTJiYjUwMDQ5MWI5YjdkZGVjMDM4ZTgwZGVjL3RhYmxlcmFuZ2U6Yzg0YzZhMmJiNTAwNDkxYjliN2RkZWMwMzhlODBkZWNfMTEtOC0xLTEtMA_6ebd8dd1-c27b-49c0-b3a2-f0d84c7cc81f"
      unitRef="usd">54739000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4213dced86d842a5b0f31ed615f2aef5_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfMy0yLTEtMS01OTk_3f0b1c3e-7e26-4cfb-b338-f24e1554ca26"
      unitRef="usd">28826000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib0552c1f244c4b55bf6c4c305fe3b3eb_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfMy00LTEtMS01OTk_f22e7b34-8cbd-4b92-a9e0-e1f8085218b3"
      unitRef="usd">3711000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6d335ce239194bec87b1bb81d0627096_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfMy02LTEtMS0xMTYz_1a6ee140-ad66-45a6-8764-eba5a609149f"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i76efd1432f07429fb5bdf4773a9aace5_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfMy02LTEtMS01OTk_3afc59b7-0bb8-4f48-9e3d-2f7724cd1ce5"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ifedeca083a0d41e5b831623f52db34a4_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfMy04LTEtMS0xNjk_0f6fb012-f026-471f-be46-4979b8e9d369"
      unitRef="usd">32537000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i119e5b2facde4e8dba601b960da16e8c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfNC0yLTEtMS01OTk_6892736e-d08e-4588-a982-919c6d980607"
      unitRef="usd">193238000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i18149547379244b59e6475e9366b4282_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfNC00LTEtMS01OTk_1981518f-bca8-4c6d-962c-a57c07d51d3d"
      unitRef="usd">15518000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ibefe729af5534533b0c557e7f16966f4_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfNC02LTEtMS0xMTYz_14a5e204-036d-4e92-b693-1a20e4676b03"
      unitRef="usd">93281000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ife637500c93d4a9894eecadefe620b74_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfNC02LTEtMS01OTk_1f76844e-8441-4d28-8d21-8ec6eb59a9ff"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia8eeadf434334fdfa1c8a3241fcb65e5_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfNC04LTEtMS0xNjk_6bc12f0a-6f2f-4830-86d6-a52b0f0eb5c8"
      unitRef="usd">302037000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ieee64d825b2241faa1837c8d3a31cc2e_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfNS0yLTEtMS01OTk_6ab6a92b-0127-4a5e-b577-c29a585d7569"
      unitRef="usd">85532000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if7b05c0c05b24448a08ad4d66f9dce0c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfNS00LTEtMS01OTk_6d113eaf-b9c7-4bc2-82ed-b50282696d65"
      unitRef="usd">9802000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id2abc3b2875f46e5b9b1b41593d28ad0_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfNS02LTEtMS0xMTYz_4ad4641b-b4f4-4348-9f4b-6b153db9f57f"
      unitRef="usd">5643000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i633f1d9db84f452baa2f296f38341f80_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfNS02LTEtMS01OTk_00af36da-5a1e-401d-bda9-be601834d3fb"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i465377a326d5426987e62de97691c578_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfNS04LTEtMS0xNjk_521ee7f2-5e7a-4e65-bb90-f01abc28fdef"
      unitRef="usd">100977000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2f0e787b14c64bfa865198b3088ac352_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfNi0yLTEtMS01OTk_e689629d-deea-49ef-b2ff-64a7bf18fdb3"
      unitRef="usd">219793000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7aa1913f253f452dbc2d5019eb88411e_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfNi00LTEtMS01OTk_c9f694d7-c2f6-4a03-acce-5fd2572f4cbd"
      unitRef="usd">18785000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7b6957ecf69e4e1eb1edf107939a28a2_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfNi02LTEtMS0xMTYz_5e34221f-4701-4590-97c8-507095ce7bc4"
      unitRef="usd">155000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9348356e35704634b91c827b4622acf1_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfNi02LTEtMS01OTk_e1c1152d-bcb2-4dc5-a087-f130c4e20633"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic207e27aef764b358a30cb64f99db462_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfNi04LTEtMS0xNjk_e7274b93-e0df-4734-a25d-86f5ce1876d7"
      unitRef="usd">238733000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i415e7155887f4d9781fd3f410b9f9b13_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfNy0yLTEtMS01OTk_da595aec-6a6e-4ca7-9515-95e40bec930a"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie1583f4ec5d341e9ab11266a513c7218_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfNy00LTEtMS01OTk_8e744315-dbf7-41f9-9ac0-990e81c870ee"
      unitRef="usd">12730000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2fdadd29fbdd4406a33b0bfcffc24812_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfNy02LTEtMS0xMTYz_a7b03cc6-15dd-41ea-a212-a7c5563a9a27"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0745ccbefae34abc93033332155eca7f_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfNy02LTEtMS01OTk_977a4f72-8a5c-42e3-8e20-2e1c1e819305"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2bd1aa5ff89f42b98ed1aca853630c17_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfNy04LTEtMS0xNjk_ab05863b-2e6e-40b7-9002-afc347093a0d"
      unitRef="usd">12730000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i87baa6b99f074aca85f044528fa2470c_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfOC0yLTEtMS01OTk_a02c3cb7-3b64-484d-a266-34575572c8c5"
      unitRef="usd">8854000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i35653a44ab7d430095b55fc807379b38_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfOC00LTEtMS01OTk_a9ff88d5-1c5f-4125-acd8-882a3b5b64df"
      unitRef="usd">70000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="idfc328dbc4eb4a54b7c8e722a5f805d4_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfOC02LTEtMS0xMTYz_ad46d695-44ce-4ba2-932a-5aa432fe52d7"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5f6c493883b34f988458d2d562bdcdad_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfOC02LTEtMS01OTk_223b196f-09f0-466b-b411-c4d02203d8ff"
      unitRef="usd">2939000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i700854d0a8e94c4ba8bae5b865038b36_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfOC04LTEtMS0xNjk_c792753b-aae1-40b7-9dfa-868f07bd84e2"
      unitRef="usd">11863000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if788eaa5d6c74750bbf747bb36e00005_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfOS0yLTEtMS01OTk_39755c1c-2db2-4b76-8f38-16bde02819c3"
      unitRef="usd">10866000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2bc4f00f60494871b250cbd013145827_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfOS00LTEtMS01OTk_af72fa37-1236-429d-aeb4-20eac6821fa5"
      unitRef="usd">31000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic5424925e4e144bf97a67ef45a7d4921_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfOS02LTEtMS0xMTYz_3a4d9335-f1ce-479d-888f-c42c216aa642"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iea4adaf702694779b3c278c6826291a7_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfOS02LTEtMS01OTk_be5810f8-bfdb-42b3-8a59-0621a5407747"
      unitRef="usd">-10897000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id13650e850ac4aa19f8cd9912e655a48_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfMTAtMi0xLTEtMTY5_b93bf968-2c65-41f1-9c5d-c2783b2070fe"
      unitRef="usd">547109000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2e53f596495b4bb6aafd67216ed0d1f2_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfMTAtNC0xLTEtMTY5_a02c0e7d-a27a-4f08-89e6-ae002fc20683"
      unitRef="usd">60647000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ida94f54cc9974b52a91080164607a403_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfMTAtNi0xLTEtMTE2Mw_7266e5e7-2b4c-4713-a399-ab35ad3acab9"
      unitRef="usd">99079000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ifd8e562a14094b60b2737afe816dcfc9_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfMTAtNi0xLTEtMTY5_7149d7db-3904-4f5b-8c5d-60d07dab1394"
      unitRef="usd">-7958000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfMTAtOC0xLTEtMTY5_dc2ff2b0-96ab-4130-beb1-3dcf2d0a24cd"
      unitRef="usd">698877000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:OperatingIncomeLoss
      contextRef="id13650e850ac4aa19f8cd9912e655a48_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfMTEtMi0xLTEtNTk5_46abcde4-5f02-4d2c-a6ee-39f333ed095d"
      unitRef="usd">187435000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i2e53f596495b4bb6aafd67216ed0d1f2_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfMTEtNC0xLTEtNTk5_77f6ab1d-a6a2-4625-ad81-1aab4c600f92"
      unitRef="usd">17948000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ida94f54cc9974b52a91080164607a403_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfMTEtNi0xLTEtMTE2Mw_2465ba62-175d-49be-b0f9-a14b0a4a313e"
      unitRef="usd">22931000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ifd8e562a14094b60b2737afe816dcfc9_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfMTEtNi0xLTEtNTk5_b6df020c-a20d-4a05-a280-6832dcc5e521"
      unitRef="usd">-115196000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i28ab9325b1c04c29b53ec818f8ee84de_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmNjOTI4MmI3ZjE4NzRlZjM5NDAxZmQ3YzY5YjJjYWVmL3RhYmxlcmFuZ2U6Y2M5MjgyYjdmMTg3NGVmMzk0MDFmZDdjNjliMmNhZWZfMTEtOC0xLTEtMTY5_61d3c53f-852b-4b7e-8513-4431a86a61e0"
      unitRef="usd">113118000</us-gaap:OperatingIncomeLoss>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6354f3e3b5954dde87f760247aa7b6b3_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfMy0yLTEtMS0xNzI_d831abc3-9412-44b3-a8eb-237021591b56"
      unitRef="usd">30634000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6fea0ab8bb174c7990d817d3f474c63b_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfMy00LTEtMS0xNzI_826e0eac-b252-42c9-89e6-55135316de95"
      unitRef="usd">5128000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1efe53e833a2431189cc986169fc24fa_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfMy02LTEtMS0xMzcx_ba14b52f-5b9f-4cf2-9967-1184aaead1e4"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i973e668bd06343baa40464cc9ad42507_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfMy02LTEtMS0xNzI_5f939e04-9248-42d3-8e83-6d51b0163ee7"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i435d3e001ab44b0ea95603683dfe6ae6_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfMy04LTEtMS0xNzI_106179f5-eb22-4486-b517-eedd5560a452"
      unitRef="usd">35762000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="icc82525e5c8d43fd90a14675bc1d905b_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfNC0yLTEtMS0xNzI_a9d48d41-249b-4ead-9b27-d2d0b7f2dc34"
      unitRef="usd">155772000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i57810fadbba54423bb54b7ed73e83c19_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfNC00LTEtMS0xNzI_14436f7b-8af9-49e0-a13f-fa8dbbb5d5fa"
      unitRef="usd">11589000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic0626c8fcd35407d9ce80cb096fb7a7a_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfNC02LTEtMS0xMzcx_bc1a93f9-f14f-4a03-b7af-81a0a0e73646"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ifeb558c1feba47569008cde6945d111a_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfNC02LTEtMS0xNzI_5f405b81-7774-4eea-8693-1c1392b8bd37"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie03b936e7e3744a396ec0b82d619fe1e_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfNC04LTEtMS0xNzI_e82073aa-2188-4059-b810-c7e514a2a71b"
      unitRef="usd">167361000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i131da4af85964c8087a17c69d670a437_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfNS0yLTEtMS0xNzI_6b028acb-e976-4d96-8f8c-72390961fb88"
      unitRef="usd">83848000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie5a00808ad8147dc8d24fd14417e83fb_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfNS00LTEtMS0xNzI_3f604ed6-5918-4fd8-8aaf-41bb2f11246d"
      unitRef="usd">11939000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i52f7b26c5f6343558986011eb19b85e7_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfNS02LTEtMS0xMzcx_92a20239-15c7-41dd-b4c0-33eb26d95d9e"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i57a0e67f8ddb4d739659f61a88ffe318_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfNS02LTEtMS0xNzI_7b383b78-223c-4105-98df-c49373259a45"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i937530a655dd4f6cba9d3269c86776c1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfNS04LTEtMS0xNzI_fe5ac971-1fa4-4bee-95e3-fecaab408f67"
      unitRef="usd">95787000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib0046088bff746d4ad37ce325e30010b_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfNi0yLTEtMS0xNzI_b8554550-4241-4407-820b-c5819e2e85e8"
      unitRef="usd">212177000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic494c1fbd20d4edca21d58b1a0bb15cd_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfNi00LTEtMS0xNzI_c10dc042-a258-4935-af4d-800fadd4dcc9"
      unitRef="usd">18948000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iefa9c77788824c24aefce60c40d23662_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfNi02LTEtMS0xMzcx_71579b4e-fe6b-43f7-8a03-633c94d9e936"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ibe90453405964f8982a0072c47917c75_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfNi02LTEtMS0xNzI_8320c2c1-ac0c-450f-a6e6-2c3ebe49c49f"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i041fa3b2aacb45359ec9ecd81d37cf56_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfNi04LTEtMS0xNzI_79a89685-8db5-4f0a-9cc5-22cd431e1191"
      unitRef="usd">231125000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia11fb123c9f242d3a758885be96b9401_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfNy0yLTEtMS0xNzI_5e721681-8086-420b-813b-56b0951bd01b"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i708558d5ef2344e995b267f99a64fc0e_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfNy00LTEtMS0xNzI_1093f68e-5818-41cd-90d3-cb5ba4ae78f3"
      unitRef="usd">10459000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if86efc36a9274b3e826c552e86814cf6_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfNy02LTEtMS0xMzcx_ae852eb1-d5f4-4d9b-8452-6c7cb1fb9e70"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id36072d2ad1d4f6194108913ae654ac3_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfNy02LTEtMS0xNzI_c0094afb-bab1-4f9a-821b-d829b68eee7e"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i20e49120f44740329ff6d4d823ac8cb7_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfNy04LTEtMS0xNzI_be50245b-0aae-43d1-9cb5-3e6bdd30c387"
      unitRef="usd">10459000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i06ab117f4df448f2a87155455b7d5b17_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfOC0yLTEtMS0xNzI_c4294223-191f-4546-af98-8d3c1212751b"
      unitRef="usd">7091000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9fb0fcec97c84798ae1abe8617b6deb7_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfOC00LTEtMS0xNzI_54aa03aa-2396-4d47-b195-6455aaed9383"
      unitRef="usd">45000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i31e1958ccb8c44a88f2cfe86903c47bd_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfOC02LTEtMS0xMzcx_2945ca32-71dd-465a-aa3b-720bd10db45a"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1bce3304fa6042cb90e96776916080fc_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfOC02LTEtMS0xNzI_683dc0fc-e529-4fce-9c6f-e3f0238a47a7"
      unitRef="usd">2000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic0daa6fee0ea4a62b8bca2f530d7851e_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfOC04LTEtMS0xNzI_ef4f096f-af84-4e76-8720-554c34a18860"
      unitRef="usd">7138000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia15bb9c270b44b6faea7c50a4ca5663e_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfOS0yLTEtMS0xNzI_b2ccdc45-1c7e-411b-8bf5-b42bc5673b2b"
      unitRef="usd">8534000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i929d98418f934bb985fdc14d21aee815_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfOS00LTEtMS0xNzI_35191d7f-1575-479b-8ccb-72c8a78f373e"
      unitRef="usd">20000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i30f16e02b3804de795fc74be20cf3068_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfOS02LTEtMS0xMzcx_679a8676-0117-4938-aaaa-f7af0730a470"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0aaa119d91824a538f291eec2a032173_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfOS02LTEtMS0xNzI_6447bd27-0694-44b1-95e0-ffa8504c9d95"
      unitRef="usd">-8554000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia5965ed39eeb41c7a4cf12a6d5feb415_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfMTAtMi0xLTEtMTcy_700e5675-9c9d-4bde-9324-0fb702226b02"
      unitRef="usd">498056000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i31b0445b54564ab8be291bf8d5cdb1f1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfMTAtNC0xLTEtMTcy_eac3f89b-228a-4b61-9784-f84389394c33"
      unitRef="usd">58128000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i79a6511abb6f44d090c700ac1449f08c_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfMTAtNi0xLTEtMTM3MQ_5e4e1c9f-47ab-49bc-b730-0e90936d4f71"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib5bada07b50944a493479f027ef480e4_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfMTAtNi0xLTEtMTcy_6bb26c5b-8dc7-4c03-9cd2-eb37c2ce85de"
      unitRef="usd">-8552000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfMTAtOC0xLTEtMTcy_e882c790-e4c9-41a3-9405-a855b5528ebc"
      unitRef="usd">547632000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:OperatingIncomeLoss
      contextRef="ia5965ed39eeb41c7a4cf12a6d5feb415_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfMTEtMi0xLTEtMTcy_658135b1-b389-4a7c-a3b5-606c47ad00c3"
      unitRef="usd">155747000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i31b0445b54564ab8be291bf8d5cdb1f1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfMTEtNC0xLTEtMTcy_2ee5422c-b497-4153-bf03-d914756a5525"
      unitRef="usd">16309000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i79a6511abb6f44d090c700ac1449f08c_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfMTEtNi0xLTEtMTM3MQ_695bf0db-6762-42f7-a4ca-3170b8ab06e0"
      unitRef="usd">0</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="ib5bada07b50944a493479f027ef480e4_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfMTEtNi0xLTEtMTcy_0b01bacc-1bbf-46bd-b65f-5105701c7a77"
      unitRef="usd">-70005000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i419132130edd47ffbf28f1d2699d6626_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOjEyY2YwN2M5MjUwNzQ0YzI5MzBmYjdlZWM2OGNjNzdhL3RhYmxlcmFuZ2U6MTJjZjA3YzkyNTA3NDRjMjkzMGZiN2VlYzY4Y2M3N2FfMTEtOC0xLTEtMTcy_c5b6bda0-f56d-4b5e-81b4-95d9754d7bc2"
      unitRef="usd">102051000</us-gaap:OperatingIncomeLoss>
    <us-gaap:ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RleHRyZWdpb246YjkyMzk0ODBiNmQxNGJiOTk0NmVjYmJjMjE5MjAwYTZfMzUxOA_0988f083-e589-455b-abc0-8ffe88eea480">&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:47.948%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.971%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.759%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.027%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.824%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.971%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.031%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Reconciliation of reportable segment operating income to the Company's consolidated totals:&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;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:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total segment operating income&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;61,534&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;54,739&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;113,118&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;102,051&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of acquired software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,823)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,006)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(19,787)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(16,033)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Amortization of customer and trade name intangibles&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(11,420)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,392)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(16,832)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,784)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Other (expense) income including interest expense, net&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12,199)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;470&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(12,111)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,460&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Income before income taxes&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,092&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;41,811&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;64,388&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;76,694&#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:ReconciliationOfOperatingProfitLossFromSegmentsToConsolidatedTextBlock>
    <us-gaap:OperatingIncomeLoss
      contextRef="i01429585b2f443bbb2e87cc04edf964f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmVmMzQzNjJmMzgxYjQzMTliNzQyMGQ3NWY4YmM4ZjRjL3RhYmxlcmFuZ2U6ZWYzNDM2MmYzODFiNDMxOWI3NDIwZDc1ZjhiYzhmNGNfMi0yLTEtMS0w_378ada3b-421a-45d3-b05e-32ca3122b4dc"
      unitRef="usd">61534000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i2f83d239156f4ae88726a1c0293d19a8_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmVmMzQzNjJmMzgxYjQzMTliNzQyMGQ3NWY4YmM4ZjRjL3RhYmxlcmFuZ2U6ZWYzNDM2MmYzODFiNDMxOWI3NDIwZDc1ZjhiYzhmNGNfMi00LTEtMS0w_aa282da0-36ce-4b9d-a2e5-47fd5fcae800"
      unitRef="usd">54739000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i28ab9325b1c04c29b53ec818f8ee84de_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmVmMzQzNjJmMzgxYjQzMTliNzQyMGQ3NWY4YmM4ZjRjL3RhYmxlcmFuZ2U6ZWYzNDM2MmYzODFiNDMxOWI3NDIwZDc1ZjhiYzhmNGNfMi02LTEtMS0w_1f5983ae-c977-4d1e-bd97-43dbcd66f08e"
      unitRef="usd">113118000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="i419132130edd47ffbf28f1d2699d6626_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmVmMzQzNjJmMzgxYjQzMTliNzQyMGQ3NWY4YmM4ZjRjL3RhYmxlcmFuZ2U6ZWYzNDM2MmYzODFiNDMxOWI3NDIwZDc1ZjhiYzhmNGNfMi04LTEtMS0w_1edb95cb-2458-436c-979c-a12f4e6a1836"
      unitRef="usd">102051000</us-gaap:OperatingIncomeLoss>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="iecb8b8cda3574813aeb57a9277619fec_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmVmMzQzNjJmMzgxYjQzMTliNzQyMGQ3NWY4YmM4ZjRjL3RhYmxlcmFuZ2U6ZWYzNDM2MmYzODFiNDMxOWI3NDIwZDc1ZjhiYzhmNGNfMy0yLTEtMS0w_42cef274-0624-491f-b277-5ceb54513a1e"
      unitRef="usd">11823000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="iff6f55376e014d62a6dc1450d15b6b86_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmVmMzQzNjJmMzgxYjQzMTliNzQyMGQ3NWY4YmM4ZjRjL3RhYmxlcmFuZ2U6ZWYzNDM2MmYzODFiNDMxOWI3NDIwZDc1ZjhiYzhmNGNfMy00LTEtMS0w_5de8b5be-d0e2-4628-b988-9a98660d8e9a"
      unitRef="usd">8006000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i53287abe4d7b46c8b466558a486b3059_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmVmMzQzNjJmMzgxYjQzMTliNzQyMGQ3NWY4YmM4ZjRjL3RhYmxlcmFuZ2U6ZWYzNDM2MmYzODFiNDMxOWI3NDIwZDc1ZjhiYzhmNGNfMy02LTEtMS0w_ccee7848-b48f-4391-a2c6-7ff0828e4cd8"
      unitRef="usd">19787000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="i58cded727e964d7ba49a1cbc5a5ba37d_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmVmMzQzNjJmMzgxYjQzMTliNzQyMGQ3NWY4YmM4ZjRjL3RhYmxlcmFuZ2U6ZWYzNDM2MmYzODFiNDMxOWI3NDIwZDc1ZjhiYzhmNGNfMy04LTEtMS0w_5b33002c-814f-4691-bcd8-0803c7d2de7b"
      unitRef="usd">16033000</us-gaap:CostOfGoodsAndServicesSold>
    <tyl:AmortizationOfCustomerAndTradeNamesIntangibleAssets
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmVmMzQzNjJmMzgxYjQzMTliNzQyMGQ3NWY4YmM4ZjRjL3RhYmxlcmFuZ2U6ZWYzNDM2MmYzODFiNDMxOWI3NDIwZDc1ZjhiYzhmNGNfNC0yLTEtMS0w_c40a91e5-f142-4152-92c5-e36b19344985"
      unitRef="usd">11420000</tyl:AmortizationOfCustomerAndTradeNamesIntangibleAssets>
    <tyl:AmortizationOfCustomerAndTradeNamesIntangibleAssets
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmVmMzQzNjJmMzgxYjQzMTliNzQyMGQ3NWY4YmM4ZjRjL3RhYmxlcmFuZ2U6ZWYzNDM2MmYzODFiNDMxOWI3NDIwZDc1ZjhiYzhmNGNfNC00LTEtMS0w_d406ed1a-971b-44ad-8682-fe84e0e333a8"
      unitRef="usd">5392000</tyl:AmortizationOfCustomerAndTradeNamesIntangibleAssets>
    <tyl:AmortizationOfCustomerAndTradeNamesIntangibleAssets
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmVmMzQzNjJmMzgxYjQzMTliNzQyMGQ3NWY4YmM4ZjRjL3RhYmxlcmFuZ2U6ZWYzNDM2MmYzODFiNDMxOWI3NDIwZDc1ZjhiYzhmNGNfNC02LTEtMS0w_6f0b86bf-cb87-4409-b2b9-033371ab20e5"
      unitRef="usd">16832000</tyl:AmortizationOfCustomerAndTradeNamesIntangibleAssets>
    <tyl:AmortizationOfCustomerAndTradeNamesIntangibleAssets
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmVmMzQzNjJmMzgxYjQzMTliNzQyMGQ3NWY4YmM4ZjRjL3RhYmxlcmFuZ2U6ZWYzNDM2MmYzODFiNDMxOWI3NDIwZDc1ZjhiYzhmNGNfNC04LTEtMS0w_f77c6d43-97d5-4081-bfc0-9e22feb526c0"
      unitRef="usd">10784000</tyl:AmortizationOfCustomerAndTradeNamesIntangibleAssets>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmVmMzQzNjJmMzgxYjQzMTliNzQyMGQ3NWY4YmM4ZjRjL3RhYmxlcmFuZ2U6ZWYzNDM2MmYzODFiNDMxOWI3NDIwZDc1ZjhiYzhmNGNfNS0yLTEtMS0w_0e3e45a9-2650-460a-ad57-f8eb510c247c"
      unitRef="usd">-12199000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmVmMzQzNjJmMzgxYjQzMTliNzQyMGQ3NWY4YmM4ZjRjL3RhYmxlcmFuZ2U6ZWYzNDM2MmYzODFiNDMxOWI3NDIwZDc1ZjhiYzhmNGNfNS00LTEtMS0w_7f40926d-3688-4aca-836d-3fc0ee429eed"
      unitRef="usd">470000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmVmMzQzNjJmMzgxYjQzMTliNzQyMGQ3NWY4YmM4ZjRjL3RhYmxlcmFuZ2U6ZWYzNDM2MmYzODFiNDMxOWI3NDIwZDc1ZjhiYzhmNGNfNS02LTEtMS0w_b1dd6032-72fa-4e3e-83b0-b7748fa62ede"
      unitRef="usd">-12111000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmVmMzQzNjJmMzgxYjQzMTliNzQyMGQ3NWY4YmM4ZjRjL3RhYmxlcmFuZ2U6ZWYzNDM2MmYzODFiNDMxOWI3NDIwZDc1ZjhiYzhmNGNfNS04LTEtMS0w_4c9aed1c-7f00-4759-9e2e-6bb16a5c4b48"
      unitRef="usd">1460000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmVmMzQzNjJmMzgxYjQzMTliNzQyMGQ3NWY4YmM4ZjRjL3RhYmxlcmFuZ2U6ZWYzNDM2MmYzODFiNDMxOWI3NDIwZDc1ZjhiYzhmNGNfNi0yLTEtMS0w_3272ab61-5bd8-47d7-a4e8-74fb1d1d74fd"
      unitRef="usd">26092000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmVmMzQzNjJmMzgxYjQzMTliNzQyMGQ3NWY4YmM4ZjRjL3RhYmxlcmFuZ2U6ZWYzNDM2MmYzODFiNDMxOWI3NDIwZDc1ZjhiYzhmNGNfNi00LTEtMS0w_a2f87f0c-23a9-4c66-b770-2510ccac91a5"
      unitRef="usd">41811000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmVmMzQzNjJmMzgxYjQzMTliNzQyMGQ3NWY4YmM4ZjRjL3RhYmxlcmFuZ2U6ZWYzNDM2MmYzODFiNDMxOWI3NDIwZDc1ZjhiYzhmNGNfNi02LTEtMS0w_4f6638b6-b156-4362-b8fe-f5db3b29e041"
      unitRef="usd">64388000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF82Ny9mcmFnOmI5MjM5NDgwYjZkMTRiYjk5NDZlY2JiYzIxOTIwMGE2L3RhYmxlOmVmMzQzNjJmMzgxYjQzMTliNzQyMGQ3NWY4YmM4ZjRjL3RhYmxlcmFuZ2U6ZWYzNDM2MmYzODFiNDMxOWI3NDIwZDc1ZjhiYzhmNGNfNi04LTEtMS0w_1842e447-5584-4730-ab9b-2a98bb361b77"
      unitRef="usd">76694000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RleHRyZWdpb246ZTE1MDllN2QyYmNiNGY4YTkzNmFjYWMwZDdjN2RiNWZfMTE0Mg_929b85f1-d4d4-4436-a32b-298d49ab1326">&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Timing of revenue recognition by revenue category during the period is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.122%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:40.935%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.221%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.041%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.537%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.192%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;For the three months ended June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Products and services transferred at a point in time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Products and services transferred over time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software licenses and royalties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,755&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,849&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,604&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;199,558&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;199,558&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,337&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;53,337&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Maintenance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;119,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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;119,621&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Appraisal services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,265&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;6,265&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Hardware and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,690&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,690&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;22,445&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;381,630&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;404,075&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top: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:40.420%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.636%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.174%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.180%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;For the three months ended June 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Products and services transferred at a point in time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Products and services transferred over time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software licenses and royalties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;14,468&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,557&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,025&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,638&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;85,638&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,654&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;43,654&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Maintenance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;116,760&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;116,760&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Appraisal services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,696&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,696&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Hardware and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,318&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;3,318&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,786&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;253,305&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;271,091&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top: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:40.859%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:18.636%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.882%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.033%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;For the six months ended June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Products and services transferred at a point in time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Products and services transferred over time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software licenses and royalties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,813&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,724&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;32,537&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;302,037&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;302,037&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100,977&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;100,977&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Maintenance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;238,733&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;238,733&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Appraisal services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,730&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,730&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Hardware and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,863&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,863&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;38,676&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;660,201&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;698,877&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;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;&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:41.590%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.905%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:16.882%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:17.033%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;For the six months ended June 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Products and services transferred at a point in time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Products and services transferred over time&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software licenses and royalties&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,534&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,228&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;35,762&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;167,361&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;167,361&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Software services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;95,787&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;95,787&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Maintenance&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;231,125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;231,125&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Appraisal services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,459&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,459&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Hardware and other&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;7,138&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,672&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;509,960&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;547,632&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Recurring revenues and non-recurring revenues recognized during the period are as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:9pt;margin-top:9pt"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:33.014%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.345%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.466%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.641%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;For the three months ended June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Enterprise&lt;br/&gt;Software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Appraisal&#160;and&#160;Tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;NIC&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Totals&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recurring revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;208,417&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;17,326&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;93,436&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;319,179&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-recurring revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;63,479&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;12,835&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,643&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,939&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;84,896&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intercompany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,605&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;0&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(5,621)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;277,501&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,177&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99,079&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(2,682)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;404,075&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:center"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:32.135%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.052%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.637%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.532%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.642%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;For the three months ended June 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Enterprise&lt;br/&gt;Software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Appraisal&#160;and&#160;Tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;NIC&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Totals&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recurring revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;186,464&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;15,934&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;202,398&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-recurring revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;56,882&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;11,811&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;68,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;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intercompany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;4,533&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,535)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;247,879&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,747&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(4,535)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;271,091&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:31.794%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:12.350%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:10.742%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.626%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;For the six months ended June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Enterprise&lt;br/&gt;Software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Appraisal&#160;and&#160;Tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;NIC&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Totals&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recurring revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;413,031&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;34,303&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;93,436&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;540,770&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-recurring revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;123,212&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;26,313&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;5,643&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,939&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;158,107&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intercompany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;10,866&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;31&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(10,897)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;547,109&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;60,647&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;99,079&#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="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(7,958)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;698,877&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:32.087%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.180%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.619%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.530%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:11.626%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;For the six months ended June 30, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Enterprise&lt;br/&gt;Software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Appraisal&#160;and&#160;Tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;NIC&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Totals&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recurring revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;367,949&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;30,537&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;398,486&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Non-recurring revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;121,573&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;27,571&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;149,146&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Intercompany&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;8,534&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;20&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,554)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Total revenues&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;498,056&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;58,128&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(8,552)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;547,632&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if7efeb2790dc48dfb5909b3dffdc608c_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjFjOTkzOTc5NGE5MDQ1MjBhYzBkZjY2NWI5ODlmODdjL3RhYmxlcmFuZ2U6MWM5OTM5Nzk0YTkwNDUyMGFjMGRmNjY1Yjk4OWY4N2NfMy0yLTEtMS0w_ad60bd58-4360-4e95-8f5e-666e669abc92"
      unitRef="usd">14755000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3a7da7623e1848e5b4d95c43bfaa8949_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjFjOTkzOTc5NGE5MDQ1MjBhYzBkZjY2NWI5ODlmODdjL3RhYmxlcmFuZ2U6MWM5OTM5Nzk0YTkwNDUyMGFjMGRmNjY1Yjk4OWY4N2NfMy00LTEtMS0w_cb466b9d-7726-42f5-8904-474ff234b9d0"
      unitRef="usd">2849000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iff9c0acb6b7344b5b45e77a7b3612602_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjFjOTkzOTc5NGE5MDQ1MjBhYzBkZjY2NWI5ODlmODdjL3RhYmxlcmFuZ2U6MWM5OTM5Nzk0YTkwNDUyMGFjMGRmNjY1Yjk4OWY4N2NfMy02LTEtMS0w_171ddbc4-ace1-4d42-b76d-85a99646ee9e"
      unitRef="usd">17604000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7a7ad1b34ffc405ab7667e8e20d04582_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjFjOTkzOTc5NGE5MDQ1MjBhYzBkZjY2NWI5ODlmODdjL3RhYmxlcmFuZ2U6MWM5OTM5Nzk0YTkwNDUyMGFjMGRmNjY1Yjk4OWY4N2NfNC0yLTEtMS0w_b2cb5ac1-afc0-42bc-a590-587669163f3c"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i143e40934de44f5a8187a0907dc5663d_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjFjOTkzOTc5NGE5MDQ1MjBhYzBkZjY2NWI5ODlmODdjL3RhYmxlcmFuZ2U6MWM5OTM5Nzk0YTkwNDUyMGFjMGRmNjY1Yjk4OWY4N2NfNC00LTEtMS0w_e9d0cea4-0b90-4a55-b61b-27537cf2c214"
      unitRef="usd">199558000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i762704e1a35b429a9dfa9136d715f7e5_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjFjOTkzOTc5NGE5MDQ1MjBhYzBkZjY2NWI5ODlmODdjL3RhYmxlcmFuZ2U6MWM5OTM5Nzk0YTkwNDUyMGFjMGRmNjY1Yjk4OWY4N2NfNC02LTEtMS0w_298bb9f0-a05f-4df0-97f3-18229dc79e5a"
      unitRef="usd">199558000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie1199516576d4c4baee36bd354075e56_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjFjOTkzOTc5NGE5MDQ1MjBhYzBkZjY2NWI5ODlmODdjL3RhYmxlcmFuZ2U6MWM5OTM5Nzk0YTkwNDUyMGFjMGRmNjY1Yjk4OWY4N2NfNS0yLTEtMS0w_3d3a84ae-26c5-45a6-ad72-b2a19e8e6b44"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i45774c36b9ef4dc4bc4b74871ee8f77f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjFjOTkzOTc5NGE5MDQ1MjBhYzBkZjY2NWI5ODlmODdjL3RhYmxlcmFuZ2U6MWM5OTM5Nzk0YTkwNDUyMGFjMGRmNjY1Yjk4OWY4N2NfNS00LTEtMS0w_1e1cf5cc-6c5c-4a27-8567-e69fa3e6d025"
      unitRef="usd">53337000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib711505f723141cb9dfbfa59bc6e5306_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjFjOTkzOTc5NGE5MDQ1MjBhYzBkZjY2NWI5ODlmODdjL3RhYmxlcmFuZ2U6MWM5OTM5Nzk0YTkwNDUyMGFjMGRmNjY1Yjk4OWY4N2NfNS02LTEtMS0w_83d66b4f-403c-427b-a609-7dd177f7c89b"
      unitRef="usd">53337000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id0e8182b1cc748958a20913fc1d3e1bd_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjFjOTkzOTc5NGE5MDQ1MjBhYzBkZjY2NWI5ODlmODdjL3RhYmxlcmFuZ2U6MWM5OTM5Nzk0YTkwNDUyMGFjMGRmNjY1Yjk4OWY4N2NfNi0yLTEtMS0w_ffc5483b-86bd-4fa3-a48a-f1a24f4e85b7"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib4bddc91479b4673be11650f2722ac84_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjFjOTkzOTc5NGE5MDQ1MjBhYzBkZjY2NWI5ODlmODdjL3RhYmxlcmFuZ2U6MWM5OTM5Nzk0YTkwNDUyMGFjMGRmNjY1Yjk4OWY4N2NfNi00LTEtMS0w_4793c443-ced4-4374-96cb-07dbcd1864b9"
      unitRef="usd">119621000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i56b29aa45d054afea997c695e0494103_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjFjOTkzOTc5NGE5MDQ1MjBhYzBkZjY2NWI5ODlmODdjL3RhYmxlcmFuZ2U6MWM5OTM5Nzk0YTkwNDUyMGFjMGRmNjY1Yjk4OWY4N2NfNi02LTEtMS0w_10698977-f2a0-4f38-8b01-625b34fafe5c"
      unitRef="usd">119621000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i312a128ed8f54877b1d965ca7ae4cc40_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjFjOTkzOTc5NGE5MDQ1MjBhYzBkZjY2NWI5ODlmODdjL3RhYmxlcmFuZ2U6MWM5OTM5Nzk0YTkwNDUyMGFjMGRmNjY1Yjk4OWY4N2NfNy0yLTEtMS0w_e9ea3f0f-ce7b-4a8e-8dd8-b6288052f0bc"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0357928aeebc41a5adb5e1456f5827b9_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjFjOTkzOTc5NGE5MDQ1MjBhYzBkZjY2NWI5ODlmODdjL3RhYmxlcmFuZ2U6MWM5OTM5Nzk0YTkwNDUyMGFjMGRmNjY1Yjk4OWY4N2NfNy00LTEtMS0w_d9ef97c7-9df4-42bc-8741-6b82b77e4ac4"
      unitRef="usd">6265000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7b8510cf6b5741989da85842c51a18a1_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjFjOTkzOTc5NGE5MDQ1MjBhYzBkZjY2NWI5ODlmODdjL3RhYmxlcmFuZ2U6MWM5OTM5Nzk0YTkwNDUyMGFjMGRmNjY1Yjk4OWY4N2NfNy02LTEtMS0w_e1aa1db4-c76f-40f5-8907-86f1573f5168"
      unitRef="usd">6265000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i19b822054d09432fa6e2deabbb6ee1ef_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjFjOTkzOTc5NGE5MDQ1MjBhYzBkZjY2NWI5ODlmODdjL3RhYmxlcmFuZ2U6MWM5OTM5Nzk0YTkwNDUyMGFjMGRmNjY1Yjk4OWY4N2NfOC0yLTEtMS0w_3827e4a6-8f0f-4129-b904-958a066e49e8"
      unitRef="usd">7690000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5a95acbfb93b42cc831ca7702767a6a5_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjFjOTkzOTc5NGE5MDQ1MjBhYzBkZjY2NWI5ODlmODdjL3RhYmxlcmFuZ2U6MWM5OTM5Nzk0YTkwNDUyMGFjMGRmNjY1Yjk4OWY4N2NfOC00LTEtMS0w_15c1989e-439b-489c-adc1-6258c98d1afe"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id3ba5507927449dcba67da90101c9966_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjFjOTkzOTc5NGE5MDQ1MjBhYzBkZjY2NWI5ODlmODdjL3RhYmxlcmFuZ2U6MWM5OTM5Nzk0YTkwNDUyMGFjMGRmNjY1Yjk4OWY4N2NfOC02LTEtMS0w_ae626327-5f56-49c2-a1d9-f058edcccc42"
      unitRef="usd">7690000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1806fe7bf1274dfe9cb9f5f88f805523_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjFjOTkzOTc5NGE5MDQ1MjBhYzBkZjY2NWI5ODlmODdjL3RhYmxlcmFuZ2U6MWM5OTM5Nzk0YTkwNDUyMGFjMGRmNjY1Yjk4OWY4N2NfOS0yLTEtMS0w_e8239779-58ce-48c7-a7ca-cb5324a6ac02"
      unitRef="usd">22445000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic5932c1fba464ba18e6a63fab42a239d_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjFjOTkzOTc5NGE5MDQ1MjBhYzBkZjY2NWI5ODlmODdjL3RhYmxlcmFuZ2U6MWM5OTM5Nzk0YTkwNDUyMGFjMGRmNjY1Yjk4OWY4N2NfOS00LTEtMS0w_ca59d551-f0a0-4dd6-a578-c41c1f5571e5"
      unitRef="usd">381630000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjFjOTkzOTc5NGE5MDQ1MjBhYzBkZjY2NWI5ODlmODdjL3RhYmxlcmFuZ2U6MWM5OTM5Nzk0YTkwNDUyMGFjMGRmNjY1Yjk4OWY4N2NfOS02LTEtMS0w_ff728f69-f7fb-484d-aa67-5e8c6ba131f9"
      unitRef="usd">404075000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i785438e2b40c4390a5f31fcf69657413_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmJkYzExY2Y1ZDRlODQyMWRhNDIxOWU4NjBkMDYzNjk5L3RhYmxlcmFuZ2U6YmRjMTFjZjVkNGU4NDIxZGE0MjE5ZTg2MGQwNjM2OTlfMy0yLTEtMS0w_a2ff3a1f-2be0-4415-8f4c-7584f6d5089f"
      unitRef="usd">14468000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2c218474094944c4a9391d4e59938815_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmJkYzExY2Y1ZDRlODQyMWRhNDIxOWU4NjBkMDYzNjk5L3RhYmxlcmFuZ2U6YmRjMTFjZjVkNGU4NDIxZGE0MjE5ZTg2MGQwNjM2OTlfMy00LTEtMS0w_c91c9454-d89e-4ffc-a58a-7a086ce597b8"
      unitRef="usd">2557000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i471f513f21dc43008bb6dc2a5699f56b_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmJkYzExY2Y1ZDRlODQyMWRhNDIxOWU4NjBkMDYzNjk5L3RhYmxlcmFuZ2U6YmRjMTFjZjVkNGU4NDIxZGE0MjE5ZTg2MGQwNjM2OTlfMy02LTEtMS0w_90f800fc-9fa3-43cf-99c2-720bd6e70f8e"
      unitRef="usd">17025000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3496c793deea4da483ea7e4d9e1390ad_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmJkYzExY2Y1ZDRlODQyMWRhNDIxOWU4NjBkMDYzNjk5L3RhYmxlcmFuZ2U6YmRjMTFjZjVkNGU4NDIxZGE0MjE5ZTg2MGQwNjM2OTlfNC0yLTEtMS0w_d007ccbe-101a-48d1-860b-65394f82b25d"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1795a5ad208049f993ca8d69ab48119e_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmJkYzExY2Y1ZDRlODQyMWRhNDIxOWU4NjBkMDYzNjk5L3RhYmxlcmFuZ2U6YmRjMTFjZjVkNGU4NDIxZGE0MjE5ZTg2MGQwNjM2OTlfNC00LTEtMS0w_666a570d-5447-4700-8ae7-192eda9c2e6e"
      unitRef="usd">85638000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia49965582f304266a1c5a699c58c806e_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmJkYzExY2Y1ZDRlODQyMWRhNDIxOWU4NjBkMDYzNjk5L3RhYmxlcmFuZ2U6YmRjMTFjZjVkNGU4NDIxZGE0MjE5ZTg2MGQwNjM2OTlfNC02LTEtMS0w_56a06188-81ca-4029-8a6b-f049245e1367"
      unitRef="usd">85638000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ief40b7b3fc8747e2874ce9520d09640a_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmJkYzExY2Y1ZDRlODQyMWRhNDIxOWU4NjBkMDYzNjk5L3RhYmxlcmFuZ2U6YmRjMTFjZjVkNGU4NDIxZGE0MjE5ZTg2MGQwNjM2OTlfNS0yLTEtMS0w_47899017-d788-47bd-b167-4a90043ca230"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i902ef7b9aa8e42f291759c683105e506_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmJkYzExY2Y1ZDRlODQyMWRhNDIxOWU4NjBkMDYzNjk5L3RhYmxlcmFuZ2U6YmRjMTFjZjVkNGU4NDIxZGE0MjE5ZTg2MGQwNjM2OTlfNS00LTEtMS0w_cab570f4-c22f-4b68-b9b1-38db0cfd1901"
      unitRef="usd">43654000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib10b64cc7a4b438cac7af40d5fdc5471_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmJkYzExY2Y1ZDRlODQyMWRhNDIxOWU4NjBkMDYzNjk5L3RhYmxlcmFuZ2U6YmRjMTFjZjVkNGU4NDIxZGE0MjE5ZTg2MGQwNjM2OTlfNS02LTEtMS0w_9fb4024a-d91b-41b3-975e-5616ea65012d"
      unitRef="usd">43654000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia2f5b325bd3d4b3a9ee9347e2f82abcf_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmJkYzExY2Y1ZDRlODQyMWRhNDIxOWU4NjBkMDYzNjk5L3RhYmxlcmFuZ2U6YmRjMTFjZjVkNGU4NDIxZGE0MjE5ZTg2MGQwNjM2OTlfNi0yLTEtMS0w_7310ffdd-c60a-4dcc-a103-f2c676328827"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia4b0707907b04890a6039d6231bbfed7_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmJkYzExY2Y1ZDRlODQyMWRhNDIxOWU4NjBkMDYzNjk5L3RhYmxlcmFuZ2U6YmRjMTFjZjVkNGU4NDIxZGE0MjE5ZTg2MGQwNjM2OTlfNi00LTEtMS0w_cc094bec-93d8-4e5b-92ce-319ca8117b99"
      unitRef="usd">116760000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5a81415a56354bb0b0459e750384de90_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmJkYzExY2Y1ZDRlODQyMWRhNDIxOWU4NjBkMDYzNjk5L3RhYmxlcmFuZ2U6YmRjMTFjZjVkNGU4NDIxZGE0MjE5ZTg2MGQwNjM2OTlfNi02LTEtMS0w_e59f6e06-b030-40d5-965a-68e9f030a8b6"
      unitRef="usd">116760000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie9942d2764224e94a5bcebccefb84ea1_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmJkYzExY2Y1ZDRlODQyMWRhNDIxOWU4NjBkMDYzNjk5L3RhYmxlcmFuZ2U6YmRjMTFjZjVkNGU4NDIxZGE0MjE5ZTg2MGQwNjM2OTlfNy0yLTEtMS0w_e9087968-23b6-4072-8c11-2a5759f4c462"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8c389995e0114698bc25d6ac06344a42_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmJkYzExY2Y1ZDRlODQyMWRhNDIxOWU4NjBkMDYzNjk5L3RhYmxlcmFuZ2U6YmRjMTFjZjVkNGU4NDIxZGE0MjE5ZTg2MGQwNjM2OTlfNy00LTEtMS0w_d0f6dd35-30e3-4058-949e-c2db7b6f11e5"
      unitRef="usd">4696000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6d346a335a65458c9d056436146d1543_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmJkYzExY2Y1ZDRlODQyMWRhNDIxOWU4NjBkMDYzNjk5L3RhYmxlcmFuZ2U6YmRjMTFjZjVkNGU4NDIxZGE0MjE5ZTg2MGQwNjM2OTlfNy02LTEtMS0w_4605ee34-4b2b-4892-bc72-53147a3da64c"
      unitRef="usd">4696000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3c5a612aa7a94dba95d2a5df52472b48_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmJkYzExY2Y1ZDRlODQyMWRhNDIxOWU4NjBkMDYzNjk5L3RhYmxlcmFuZ2U6YmRjMTFjZjVkNGU4NDIxZGE0MjE5ZTg2MGQwNjM2OTlfOC0yLTEtMS0w_4835f99f-dfd7-4b90-a068-45a36dae791d"
      unitRef="usd">3318000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id2aeee93abcf4b27886d1f5249730d53_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmJkYzExY2Y1ZDRlODQyMWRhNDIxOWU4NjBkMDYzNjk5L3RhYmxlcmFuZ2U6YmRjMTFjZjVkNGU4NDIxZGE0MjE5ZTg2MGQwNjM2OTlfOC00LTEtMS0w_ebbb2d96-359b-420f-8bc6-e80200b13b3f"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="icbfc57dec0b14941ae5c3b1381abf2d6_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmJkYzExY2Y1ZDRlODQyMWRhNDIxOWU4NjBkMDYzNjk5L3RhYmxlcmFuZ2U6YmRjMTFjZjVkNGU4NDIxZGE0MjE5ZTg2MGQwNjM2OTlfOC02LTEtMS0w_81638190-b487-4768-862f-2feda23f11ea"
      unitRef="usd">3318000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iac050fdf8f9c48258bc89d756abd7b43_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmJkYzExY2Y1ZDRlODQyMWRhNDIxOWU4NjBkMDYzNjk5L3RhYmxlcmFuZ2U6YmRjMTFjZjVkNGU4NDIxZGE0MjE5ZTg2MGQwNjM2OTlfOS0yLTEtMS0w_96bf38ef-1fcd-4f07-b656-c2e066725224"
      unitRef="usd">17786000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6de2382fba2e4990b776b295504f4f6f_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmJkYzExY2Y1ZDRlODQyMWRhNDIxOWU4NjBkMDYzNjk5L3RhYmxlcmFuZ2U6YmRjMTFjZjVkNGU4NDIxZGE0MjE5ZTg2MGQwNjM2OTlfOS00LTEtMS0w_4fbb0d32-56a3-4188-877a-c94a4c89d720"
      unitRef="usd">253305000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmJkYzExY2Y1ZDRlODQyMWRhNDIxOWU4NjBkMDYzNjk5L3RhYmxlcmFuZ2U6YmRjMTFjZjVkNGU4NDIxZGE0MjE5ZTg2MGQwNjM2OTlfOS02LTEtMS0w_1695a5d8-ec80-4374-ad6f-1076431d0f4f"
      unitRef="usd">271091000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0e2b6e6485c74349ac1016960aaa10e8_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmQ1MmQ0NzQ5NWM2MTQzMmNiN2RhNWI0ZmFlOWVlNTliL3RhYmxlcmFuZ2U6ZDUyZDQ3NDk1YzYxNDMyY2I3ZGE1YjRmYWU5ZWU1OWJfMy0yLTEtMS02MDk_7eb4d341-6ee7-4660-a7e2-229c58609fe9"
      unitRef="usd">26813000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4c740e08c2014f8ca980b6485cf4f85d_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmQ1MmQ0NzQ5NWM2MTQzMmNiN2RhNWI0ZmFlOWVlNTliL3RhYmxlcmFuZ2U6ZDUyZDQ3NDk1YzYxNDMyY2I3ZGE1YjRmYWU5ZWU1OWJfMy00LTEtMS02MDk_5aa7925a-8fa8-4855-bbe2-9c990bb54d6e"
      unitRef="usd">5724000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ifedeca083a0d41e5b831623f52db34a4_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmQ1MmQ0NzQ5NWM2MTQzMmNiN2RhNWI0ZmFlOWVlNTliL3RhYmxlcmFuZ2U6ZDUyZDQ3NDk1YzYxNDMyY2I3ZGE1YjRmYWU5ZWU1OWJfMy02LTEtMS0yMDQ_3e0a3862-0b57-4049-9af7-eb02a179e2dd"
      unitRef="usd">32537000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iddfc579736b04987a305c88a6a8b0fc3_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmQ1MmQ0NzQ5NWM2MTQzMmNiN2RhNWI0ZmFlOWVlNTliL3RhYmxlcmFuZ2U6ZDUyZDQ3NDk1YzYxNDMyY2I3ZGE1YjRmYWU5ZWU1OWJfNC0yLTEtMS02MDk_d61bcb10-0278-4103-a0e2-77283f0e3588"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5a66912a9f14493183b0fc23d0f6ce1e_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmQ1MmQ0NzQ5NWM2MTQzMmNiN2RhNWI0ZmFlOWVlNTliL3RhYmxlcmFuZ2U6ZDUyZDQ3NDk1YzYxNDMyY2I3ZGE1YjRmYWU5ZWU1OWJfNC00LTEtMS02MDk_1fd9a405-5ccd-4749-b3a7-b58f20edc241"
      unitRef="usd">302037000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia8eeadf434334fdfa1c8a3241fcb65e5_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmQ1MmQ0NzQ5NWM2MTQzMmNiN2RhNWI0ZmFlOWVlNTliL3RhYmxlcmFuZ2U6ZDUyZDQ3NDk1YzYxNDMyY2I3ZGE1YjRmYWU5ZWU1OWJfNC02LTEtMS0yMDQ_772ca42a-42cd-41df-9dd9-bc7871badc69"
      unitRef="usd">302037000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i51bef6881e984bd69ec7672e9a28e5bd_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmQ1MmQ0NzQ5NWM2MTQzMmNiN2RhNWI0ZmFlOWVlNTliL3RhYmxlcmFuZ2U6ZDUyZDQ3NDk1YzYxNDMyY2I3ZGE1YjRmYWU5ZWU1OWJfNS0yLTEtMS02MDk_f228d541-aff0-4421-959f-7f4895809c32"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0f340f721b2c4446b978faf2c1b7df42_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmQ1MmQ0NzQ5NWM2MTQzMmNiN2RhNWI0ZmFlOWVlNTliL3RhYmxlcmFuZ2U6ZDUyZDQ3NDk1YzYxNDMyY2I3ZGE1YjRmYWU5ZWU1OWJfNS00LTEtMS02MDk_239a3ad3-5eb7-4fb6-b20a-402f5e89c62b"
      unitRef="usd">100977000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i465377a326d5426987e62de97691c578_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmQ1MmQ0NzQ5NWM2MTQzMmNiN2RhNWI0ZmFlOWVlNTliL3RhYmxlcmFuZ2U6ZDUyZDQ3NDk1YzYxNDMyY2I3ZGE1YjRmYWU5ZWU1OWJfNS02LTEtMS0yMDQ_ad2c8a35-fbff-4710-af85-a174d10b856c"
      unitRef="usd">100977000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5089e719b9a64c8caea94c47572da3b5_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmQ1MmQ0NzQ5NWM2MTQzMmNiN2RhNWI0ZmFlOWVlNTliL3RhYmxlcmFuZ2U6ZDUyZDQ3NDk1YzYxNDMyY2I3ZGE1YjRmYWU5ZWU1OWJfNi0yLTEtMS02MDk_6c70df98-83ba-4cdb-b061-5a99ee500827"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6996f2d0b7d94d539ade3d956f5468cf_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmQ1MmQ0NzQ5NWM2MTQzMmNiN2RhNWI0ZmFlOWVlNTliL3RhYmxlcmFuZ2U6ZDUyZDQ3NDk1YzYxNDMyY2I3ZGE1YjRmYWU5ZWU1OWJfNi00LTEtMS02MDk_f35b3254-1b28-4345-915b-99bfa8fc85c5"
      unitRef="usd">238733000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic207e27aef764b358a30cb64f99db462_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmQ1MmQ0NzQ5NWM2MTQzMmNiN2RhNWI0ZmFlOWVlNTliL3RhYmxlcmFuZ2U6ZDUyZDQ3NDk1YzYxNDMyY2I3ZGE1YjRmYWU5ZWU1OWJfNi02LTEtMS0yMDQ_ac277421-bd1c-4578-af8e-b1d168e62812"
      unitRef="usd">238733000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic4dfafcd39f74b3abe1c2624eee3f375_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmQ1MmQ0NzQ5NWM2MTQzMmNiN2RhNWI0ZmFlOWVlNTliL3RhYmxlcmFuZ2U6ZDUyZDQ3NDk1YzYxNDMyY2I3ZGE1YjRmYWU5ZWU1OWJfNy0yLTEtMS02MDk_1ef85364-cd5b-4638-89f7-f440ffe10d7d"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i429515d961794a35903ebe0d13ba86aa_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmQ1MmQ0NzQ5NWM2MTQzMmNiN2RhNWI0ZmFlOWVlNTliL3RhYmxlcmFuZ2U6ZDUyZDQ3NDk1YzYxNDMyY2I3ZGE1YjRmYWU5ZWU1OWJfNy00LTEtMS02MDk_dca49cd0-1d65-4d86-a54e-ce8e4979bab4"
      unitRef="usd">12730000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2bd1aa5ff89f42b98ed1aca853630c17_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmQ1MmQ0NzQ5NWM2MTQzMmNiN2RhNWI0ZmFlOWVlNTliL3RhYmxlcmFuZ2U6ZDUyZDQ3NDk1YzYxNDMyY2I3ZGE1YjRmYWU5ZWU1OWJfNy02LTEtMS0yMDQ_7b08c616-5713-4a05-9baa-c6f90658ed45"
      unitRef="usd">12730000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i154af09a71c64c4c8ced1fbee0b2a17e_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmQ1MmQ0NzQ5NWM2MTQzMmNiN2RhNWI0ZmFlOWVlNTliL3RhYmxlcmFuZ2U6ZDUyZDQ3NDk1YzYxNDMyY2I3ZGE1YjRmYWU5ZWU1OWJfOC0yLTEtMS02MDk_35fcfa02-5849-48df-ab50-0b789b442565"
      unitRef="usd">11863000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="idacbe3bdf8e54daf8ca20f75a7e58591_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmQ1MmQ0NzQ5NWM2MTQzMmNiN2RhNWI0ZmFlOWVlNTliL3RhYmxlcmFuZ2U6ZDUyZDQ3NDk1YzYxNDMyY2I3ZGE1YjRmYWU5ZWU1OWJfOC00LTEtMS02MDk_7e28e5e4-2b96-431c-8d0c-14b399263cd7"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i700854d0a8e94c4ba8bae5b865038b36_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmQ1MmQ0NzQ5NWM2MTQzMmNiN2RhNWI0ZmFlOWVlNTliL3RhYmxlcmFuZ2U6ZDUyZDQ3NDk1YzYxNDMyY2I3ZGE1YjRmYWU5ZWU1OWJfOC02LTEtMS0yMDQ_023810b5-d595-4dff-bbc9-24a2c8c02a7c"
      unitRef="usd">11863000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i23dc116a790d454493002810d195e419_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmQ1MmQ0NzQ5NWM2MTQzMmNiN2RhNWI0ZmFlOWVlNTliL3RhYmxlcmFuZ2U6ZDUyZDQ3NDk1YzYxNDMyY2I3ZGE1YjRmYWU5ZWU1OWJfOS0yLTEtMS0yMDQ_48ada154-7223-4d16-a548-168fe722aa08"
      unitRef="usd">38676000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ifde711c3f83547c8a57766e98daf9e31_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmQ1MmQ0NzQ5NWM2MTQzMmNiN2RhNWI0ZmFlOWVlNTliL3RhYmxlcmFuZ2U6ZDUyZDQ3NDk1YzYxNDMyY2I3ZGE1YjRmYWU5ZWU1OWJfOS00LTEtMS0yMDQ_c76459de-5d57-4b47-bfc9-637cc3cc479f"
      unitRef="usd">660201000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmQ1MmQ0NzQ5NWM2MTQzMmNiN2RhNWI0ZmFlOWVlNTliL3RhYmxlcmFuZ2U6ZDUyZDQ3NDk1YzYxNDMyY2I3ZGE1YjRmYWU5ZWU1OWJfOS02LTEtMS0yMDQ_05b1cf60-bbe1-4c43-aa45-4a029f297a2a"
      unitRef="usd">698877000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i173c6a998ed549f7bdc6ddbf670cbfd3_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmY0MzQxYjYzYzg0NjQxNmU5MTM4OTc3MDNlNWZhODgwL3RhYmxlcmFuZ2U6ZjQzNDFiNjNjODQ2NDE2ZTkxMzg5NzcwM2U1ZmE4ODBfMy0yLTEtMS0yMDg_dae1c500-7d28-4a4c-a946-837d12a32c45"
      unitRef="usd">30534000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3905966fb3e04273b144546dd65021c6_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmY0MzQxYjYzYzg0NjQxNmU5MTM4OTc3MDNlNWZhODgwL3RhYmxlcmFuZ2U6ZjQzNDFiNjNjODQ2NDE2ZTkxMzg5NzcwM2U1ZmE4ODBfMy00LTEtMS0yMDg_66a4e993-c734-4a95-a2b1-33fde3bd93c5"
      unitRef="usd">5228000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i435d3e001ab44b0ea95603683dfe6ae6_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmY0MzQxYjYzYzg0NjQxNmU5MTM4OTc3MDNlNWZhODgwL3RhYmxlcmFuZ2U6ZjQzNDFiNjNjODQ2NDE2ZTkxMzg5NzcwM2U1ZmE4ODBfMy02LTEtMS0yMDg_82f8af2b-c838-4add-aa68-b58b4370ffe2"
      unitRef="usd">35762000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia658b9d792d448c0a2a4ff6f704170fd_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmY0MzQxYjYzYzg0NjQxNmU5MTM4OTc3MDNlNWZhODgwL3RhYmxlcmFuZ2U6ZjQzNDFiNjNjODQ2NDE2ZTkxMzg5NzcwM2U1ZmE4ODBfNC0yLTEtMS0yMDg_b75505b8-9dd0-471a-8f64-f4c2581d2a4d"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7c1b267056a94d9ea57e400f83e21f40_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmY0MzQxYjYzYzg0NjQxNmU5MTM4OTc3MDNlNWZhODgwL3RhYmxlcmFuZ2U6ZjQzNDFiNjNjODQ2NDE2ZTkxMzg5NzcwM2U1ZmE4ODBfNC00LTEtMS0yMDg_733aa569-6a89-41c5-9851-4f606ef9cd36"
      unitRef="usd">167361000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie03b936e7e3744a396ec0b82d619fe1e_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmY0MzQxYjYzYzg0NjQxNmU5MTM4OTc3MDNlNWZhODgwL3RhYmxlcmFuZ2U6ZjQzNDFiNjNjODQ2NDE2ZTkxMzg5NzcwM2U1ZmE4ODBfNC02LTEtMS0yMDg_0f9b7ba6-f4d9-4386-9869-2e65fcf88bc8"
      unitRef="usd">167361000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i14ccbef4be984705926144d07ea63f81_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmY0MzQxYjYzYzg0NjQxNmU5MTM4OTc3MDNlNWZhODgwL3RhYmxlcmFuZ2U6ZjQzNDFiNjNjODQ2NDE2ZTkxMzg5NzcwM2U1ZmE4ODBfNS0yLTEtMS0yMDg_957a3230-fcdd-4e40-b732-78f4a0cab4cb"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i490e225082c8468a880e2ec6ff5b7340_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmY0MzQxYjYzYzg0NjQxNmU5MTM4OTc3MDNlNWZhODgwL3RhYmxlcmFuZ2U6ZjQzNDFiNjNjODQ2NDE2ZTkxMzg5NzcwM2U1ZmE4ODBfNS00LTEtMS0yMDg_1ee938b1-d4fa-472c-9124-453b247f6631"
      unitRef="usd">95787000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i937530a655dd4f6cba9d3269c86776c1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmY0MzQxYjYzYzg0NjQxNmU5MTM4OTc3MDNlNWZhODgwL3RhYmxlcmFuZ2U6ZjQzNDFiNjNjODQ2NDE2ZTkxMzg5NzcwM2U1ZmE4ODBfNS02LTEtMS0yMDg_f967072d-7c03-4920-bf0d-11c770511060"
      unitRef="usd">95787000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if9355239953b48efa1c26379cf07ff4a_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmY0MzQxYjYzYzg0NjQxNmU5MTM4OTc3MDNlNWZhODgwL3RhYmxlcmFuZ2U6ZjQzNDFiNjNjODQ2NDE2ZTkxMzg5NzcwM2U1ZmE4ODBfNi0yLTEtMS0yMDg_83273776-d0d0-4fec-8b94-8a504bf26d94"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3e57f6d06a97450894b677a24c985bfd_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmY0MzQxYjYzYzg0NjQxNmU5MTM4OTc3MDNlNWZhODgwL3RhYmxlcmFuZ2U6ZjQzNDFiNjNjODQ2NDE2ZTkxMzg5NzcwM2U1ZmE4ODBfNi00LTEtMS0yMDg_1a0819a0-2ab0-4522-888a-17af109f46ce"
      unitRef="usd">231125000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i041fa3b2aacb45359ec9ecd81d37cf56_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmY0MzQxYjYzYzg0NjQxNmU5MTM4OTc3MDNlNWZhODgwL3RhYmxlcmFuZ2U6ZjQzNDFiNjNjODQ2NDE2ZTkxMzg5NzcwM2U1ZmE4ODBfNi02LTEtMS0yMDg_11184c2f-950d-46f4-a244-7354601bb5d4"
      unitRef="usd">231125000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0594d21e884b4e8598b45fb50e030100_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmY0MzQxYjYzYzg0NjQxNmU5MTM4OTc3MDNlNWZhODgwL3RhYmxlcmFuZ2U6ZjQzNDFiNjNjODQ2NDE2ZTkxMzg5NzcwM2U1ZmE4ODBfNy0yLTEtMS0yMDg_e63f8119-8b96-4681-9a78-e73341603f54"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i26c1366ddf65419d937d7da978b59cce_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmY0MzQxYjYzYzg0NjQxNmU5MTM4OTc3MDNlNWZhODgwL3RhYmxlcmFuZ2U6ZjQzNDFiNjNjODQ2NDE2ZTkxMzg5NzcwM2U1ZmE4ODBfNy00LTEtMS0yMDg_dd3edaf4-a835-48d0-87e4-87a2eef985b5"
      unitRef="usd">10459000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i20e49120f44740329ff6d4d823ac8cb7_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmY0MzQxYjYzYzg0NjQxNmU5MTM4OTc3MDNlNWZhODgwL3RhYmxlcmFuZ2U6ZjQzNDFiNjNjODQ2NDE2ZTkxMzg5NzcwM2U1ZmE4ODBfNy02LTEtMS0yMDg_8abdcbbc-51d1-43a3-bf25-48b7139b9d7c"
      unitRef="usd">10459000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iae2f991e04164a69bcf6f8910e0e419c_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmY0MzQxYjYzYzg0NjQxNmU5MTM4OTc3MDNlNWZhODgwL3RhYmxlcmFuZ2U6ZjQzNDFiNjNjODQ2NDE2ZTkxMzg5NzcwM2U1ZmE4ODBfOC0yLTEtMS0yMDg_35f1dcb4-15f2-4f75-b22f-da0e0434f0bb"
      unitRef="usd">7138000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id7f2c76bb2594f2b9539f3d500fbee06_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmY0MzQxYjYzYzg0NjQxNmU5MTM4OTc3MDNlNWZhODgwL3RhYmxlcmFuZ2U6ZjQzNDFiNjNjODQ2NDE2ZTkxMzg5NzcwM2U1ZmE4ODBfOC00LTEtMS0yMDg_1b2fa989-3058-4584-af1e-66d221373612"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic0daa6fee0ea4a62b8bca2f530d7851e_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmY0MzQxYjYzYzg0NjQxNmU5MTM4OTc3MDNlNWZhODgwL3RhYmxlcmFuZ2U6ZjQzNDFiNjNjODQ2NDE2ZTkxMzg5NzcwM2U1ZmE4ODBfOC02LTEtMS0yMDg_3b3983bc-a414-43e3-8366-055123c8dc7a"
      unitRef="usd">7138000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i777950d51fa147cb94285e3477f88f83_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmY0MzQxYjYzYzg0NjQxNmU5MTM4OTc3MDNlNWZhODgwL3RhYmxlcmFuZ2U6ZjQzNDFiNjNjODQ2NDE2ZTkxMzg5NzcwM2U1ZmE4ODBfOS0yLTEtMS0yMDg_e154f338-401f-462d-88e6-573e40f46a84"
      unitRef="usd">37672000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9ee3c3eef86d4f19a8151e2d23af3954_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmY0MzQxYjYzYzg0NjQxNmU5MTM4OTc3MDNlNWZhODgwL3RhYmxlcmFuZ2U6ZjQzNDFiNjNjODQ2NDE2ZTkxMzg5NzcwM2U1ZmE4ODBfOS00LTEtMS0yMDg_1ceb17ea-54fe-4685-b04c-cdb1524fd78f"
      unitRef="usd">509960000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmY0MzQxYjYzYzg0NjQxNmU5MTM4OTc3MDNlNWZhODgwL3RhYmxlcmFuZ2U6ZjQzNDFiNjNjODQ2NDE2ZTkxMzg5NzcwM2U1ZmE4ODBfOS02LTEtMS0yMDg_dba30089-850b-4c6c-96ac-947ef53d5cb3"
      unitRef="usd">547632000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <tyl:RevenueFromContractWithCustomerContractTerm
      contextRef="if7be4fd15b25499c873404bdf717189b_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RleHRyZWdpb246ZTE1MDllN2QyYmNiNGY4YTkzNmFjYWMwZDdjN2RiNWZfODM3_64a46bc2-830f-4eaf-80cd-35a110fc7570">P10Y</tyl:RevenueFromContractWithCustomerContractTerm>
    <tyl:RevenueFromContractWithCustomerTypicalContractTerm
      contextRef="if7be4fd15b25499c873404bdf717189b_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RleHRyZWdpb246ZTE1MDllN2QyYmNiNGY4YTkzNmFjYWMwZDdjN2RiNWZfODk4_f960e463-af09-473b-90c5-86baf92b8ed5">P5Y</tyl:RevenueFromContractWithCustomerTypicalContractTerm>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i7557908e1adb44318fb066c69459afcb_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjAzNDg4ZjJhMTE3ZDQ0YTQ5Y2Y3NjEyNjc0ODgxMDg1L3RhYmxlcmFuZ2U6MDM0ODhmMmExMTdkNDRhNDljZjc2MTI2NzQ4ODEwODVfMy0yLTEtMS0w_2588fa72-1b15-428d-bdca-55e397764527"
      unitRef="usd">208417000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie14ecafc9e88480c9b3b123daa784414_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjAzNDg4ZjJhMTE3ZDQ0YTQ5Y2Y3NjEyNjc0ODgxMDg1L3RhYmxlcmFuZ2U6MDM0ODhmMmExMTdkNDRhNDljZjc2MTI2NzQ4ODEwODVfMy00LTEtMS0w_99d7eea1-7f85-44ba-9008-453a37ca6541"
      unitRef="usd">17326000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i70455f5710cd42cdb676ba583ab002d3_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjAzNDg4ZjJhMTE3ZDQ0YTQ5Y2Y3NjEyNjc0ODgxMDg1L3RhYmxlcmFuZ2U6MDM0ODhmMmExMTdkNDRhNDljZjc2MTI2NzQ4ODEwODVfMy02LTEtMS0xMDcz_d2861887-8daa-4787-b8b8-71955c41e33b"
      unitRef="usd">93436000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i06af96c45120422aa2027e9376d27b06_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjAzNDg4ZjJhMTE3ZDQ0YTQ5Y2Y3NjEyNjc0ODgxMDg1L3RhYmxlcmFuZ2U6MDM0ODhmMmExMTdkNDRhNDljZjc2MTI2NzQ4ODEwODVfMy02LTEtMS0w_fb1d23ee-4f23-4ea4-90d4-1248053994ef"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i62352d865faa45cfa9810c296a5e1626_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjAzNDg4ZjJhMTE3ZDQ0YTQ5Y2Y3NjEyNjc0ODgxMDg1L3RhYmxlcmFuZ2U6MDM0ODhmMmExMTdkNDRhNDljZjc2MTI2NzQ4ODEwODVfMy04LTEtMS0w_5628dc43-91ae-4b68-a01c-09b9ef648451"
      unitRef="usd">319179000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ibd9192d41f6243029bd4a9043b9ed0b9_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjAzNDg4ZjJhMTE3ZDQ0YTQ5Y2Y3NjEyNjc0ODgxMDg1L3RhYmxlcmFuZ2U6MDM0ODhmMmExMTdkNDRhNDljZjc2MTI2NzQ4ODEwODVfNC0yLTEtMS0w_d2527898-5258-41a3-afd9-cd5dc4570789"
      unitRef="usd">63479000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3eb7bcf720684552b5d26b0223c73c2d_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjAzNDg4ZjJhMTE3ZDQ0YTQ5Y2Y3NjEyNjc0ODgxMDg1L3RhYmxlcmFuZ2U6MDM0ODhmMmExMTdkNDRhNDljZjc2MTI2NzQ4ODEwODVfNC00LTEtMS0w_0e5187c4-1996-4a62-8c7f-ad18e5a060f6"
      unitRef="usd">12835000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie79f91cdbe964654b5505db3118fa3f9_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjAzNDg4ZjJhMTE3ZDQ0YTQ5Y2Y3NjEyNjc0ODgxMDg1L3RhYmxlcmFuZ2U6MDM0ODhmMmExMTdkNDRhNDljZjc2MTI2NzQ4ODEwODVfNC02LTEtMS0xMDcz_422af859-8345-4da1-b1b4-711cdbf33c0f"
      unitRef="usd">5643000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2dde2a8a72e142779cb35466efc2881e_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjAzNDg4ZjJhMTE3ZDQ0YTQ5Y2Y3NjEyNjc0ODgxMDg1L3RhYmxlcmFuZ2U6MDM0ODhmMmExMTdkNDRhNDljZjc2MTI2NzQ4ODEwODVfNC02LTEtMS0w_87441364-60c5-41c9-87a9-ba311eab33b2"
      unitRef="usd">2939000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i3ea834e761754542a3221b29b00e50b9_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjAzNDg4ZjJhMTE3ZDQ0YTQ5Y2Y3NjEyNjc0ODgxMDg1L3RhYmxlcmFuZ2U6MDM0ODhmMmExMTdkNDRhNDljZjc2MTI2NzQ4ODEwODVfNC04LTEtMS0w_2bd3ffeb-b783-42a4-a771-38e5841b0d78"
      unitRef="usd">84896000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0d11219b0e8c4daabef6d351e69c5719_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjAzNDg4ZjJhMTE3ZDQ0YTQ5Y2Y3NjEyNjc0ODgxMDg1L3RhYmxlcmFuZ2U6MDM0ODhmMmExMTdkNDRhNDljZjc2MTI2NzQ4ODEwODVfNS0yLTEtMS0w_55d1af37-9b3c-4ae1-b692-af1b8527662a"
      unitRef="usd">5605000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i15e67631b0d74b51b4262afa728cecb5_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjAzNDg4ZjJhMTE3ZDQ0YTQ5Y2Y3NjEyNjc0ODgxMDg1L3RhYmxlcmFuZ2U6MDM0ODhmMmExMTdkNDRhNDljZjc2MTI2NzQ4ODEwODVfNS00LTEtMS0w_dff727aa-ff9d-4240-83e8-0849fddfd8d4"
      unitRef="usd">16000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0b6d703d8e9747d5912f4900a3911b80_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjAzNDg4ZjJhMTE3ZDQ0YTQ5Y2Y3NjEyNjc0ODgxMDg1L3RhYmxlcmFuZ2U6MDM0ODhmMmExMTdkNDRhNDljZjc2MTI2NzQ4ODEwODVfNS02LTEtMS0xMDcz_32503245-cbaf-42f3-9c4c-ffba2c355e68"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iecaf98d4530d4028a1d8c78b423edd7d_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjAzNDg4ZjJhMTE3ZDQ0YTQ5Y2Y3NjEyNjc0ODgxMDg1L3RhYmxlcmFuZ2U6MDM0ODhmMmExMTdkNDRhNDljZjc2MTI2NzQ4ODEwODVfNS02LTEtMS0w_1a54a9f1-9fad-4d67-8278-a6c40252fa26"
      unitRef="usd">-5621000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i4f0b050c790742eea114c36918bb5ade_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjAzNDg4ZjJhMTE3ZDQ0YTQ5Y2Y3NjEyNjc0ODgxMDg1L3RhYmxlcmFuZ2U6MDM0ODhmMmExMTdkNDRhNDljZjc2MTI2NzQ4ODEwODVfNi0yLTEtMS0w_1d3d2000-438f-4f43-adc1-5ddd7dae011a"
      unitRef="usd">277501000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib3c41659211142d795e06226ddd19e6f_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjAzNDg4ZjJhMTE3ZDQ0YTQ5Y2Y3NjEyNjc0ODgxMDg1L3RhYmxlcmFuZ2U6MDM0ODhmMmExMTdkNDRhNDljZjc2MTI2NzQ4ODEwODVfNi00LTEtMS0w_eb84153d-d3f9-4828-b525-7708b431b9ee"
      unitRef="usd">30177000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0318eca17f3b4e69ac1e2318c5594870_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjAzNDg4ZjJhMTE3ZDQ0YTQ5Y2Y3NjEyNjc0ODgxMDg1L3RhYmxlcmFuZ2U6MDM0ODhmMmExMTdkNDRhNDljZjc2MTI2NzQ4ODEwODVfNi02LTEtMS0xMDc5_6ad82403-6d3c-41ff-8a75-31c68424e537"
      unitRef="usd">99079000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie29f3d9859c9451eaa6a46064d0723f9_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjAzNDg4ZjJhMTE3ZDQ0YTQ5Y2Y3NjEyNjc0ODgxMDg1L3RhYmxlcmFuZ2U6MDM0ODhmMmExMTdkNDRhNDljZjc2MTI2NzQ4ODEwODVfNi02LTEtMS0w_336cb1b0-9ea0-4c11-957f-a666d26607d4"
      unitRef="usd">-2682000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9b20eeaae6064aa6afcf2997a575d8df_D20210401-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOjAzNDg4ZjJhMTE3ZDQ0YTQ5Y2Y3NjEyNjc0ODgxMDg1L3RhYmxlcmFuZ2U6MDM0ODhmMmExMTdkNDRhNDljZjc2MTI2NzQ4ODEwODVfNi04LTEtMS0w_c0c29276-7d0b-4f00-9958-b12b72d1bf3b"
      unitRef="usd">404075000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i73ba583ba6264fea8c36590fbc1d3eab_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmMxMzVlNGQyYjBkYjRhZWU4MTgzOTk5ZWRmYjFiZTFjL3RhYmxlcmFuZ2U6YzEzNWU0ZDJiMGRiNGFlZTgxODM5OTllZGZiMWJlMWNfMy0yLTEtMS0w_4d134c93-a08a-48dd-b675-d347656185ec"
      unitRef="usd">186464000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i21bb3a2310f24338b56a6cc82d6421e2_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmMxMzVlNGQyYjBkYjRhZWU4MTgzOTk5ZWRmYjFiZTFjL3RhYmxlcmFuZ2U6YzEzNWU0ZDJiMGRiNGFlZTgxODM5OTllZGZiMWJlMWNfMy00LTEtMS0w_362c399a-f1de-479d-81ff-87ab18bbe4ce"
      unitRef="usd">15934000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i74642f2338ab4e7a932a1dbe1ff4082b_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmMxMzVlNGQyYjBkYjRhZWU4MTgzOTk5ZWRmYjFiZTFjL3RhYmxlcmFuZ2U6YzEzNWU0ZDJiMGRiNGFlZTgxODM5OTllZGZiMWJlMWNfMy02LTEtMS0xMzc0_85b6d78a-c790-43dc-9258-3995254435a8"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib138f51d7a2a40a9839a0a4157dce678_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmMxMzVlNGQyYjBkYjRhZWU4MTgzOTk5ZWRmYjFiZTFjL3RhYmxlcmFuZ2U6YzEzNWU0ZDJiMGRiNGFlZTgxODM5OTllZGZiMWJlMWNfMy02LTEtMS0w_fc9500de-71e2-48b3-8b7a-5d998595c0e1"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i5e50414e5b394d8c9c0632a0e6f771ea_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmMxMzVlNGQyYjBkYjRhZWU4MTgzOTk5ZWRmYjFiZTFjL3RhYmxlcmFuZ2U6YzEzNWU0ZDJiMGRiNGFlZTgxODM5OTllZGZiMWJlMWNfMy04LTEtMS0w_0375210e-82fc-415e-943b-63cc9d4ad6ca"
      unitRef="usd">202398000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i984f4631a171435088b5be6a09fd043d_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmMxMzVlNGQyYjBkYjRhZWU4MTgzOTk5ZWRmYjFiZTFjL3RhYmxlcmFuZ2U6YzEzNWU0ZDJiMGRiNGFlZTgxODM5OTllZGZiMWJlMWNfNC0yLTEtMS0w_f93fbffe-4561-4e0a-9d0f-fe5a11852342"
      unitRef="usd">56882000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i56604876a3fb4db19bd0c1da6e939d54_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmMxMzVlNGQyYjBkYjRhZWU4MTgzOTk5ZWRmYjFiZTFjL3RhYmxlcmFuZ2U6YzEzNWU0ZDJiMGRiNGFlZTgxODM5OTllZGZiMWJlMWNfNC00LTEtMS0w_3eb46afc-1a5c-4b43-8de3-2bc911ea79da"
      unitRef="usd">11811000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib0af140c08734bc8b44e3fc5970fff46_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmMxMzVlNGQyYjBkYjRhZWU4MTgzOTk5ZWRmYjFiZTFjL3RhYmxlcmFuZ2U6YzEzNWU0ZDJiMGRiNGFlZTgxODM5OTllZGZiMWJlMWNfNC02LTEtMS0xMzc0_40c95828-9d3a-4212-ba42-a87c03f2bccd"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i6770243d1c4a44cea50fb7e6a7f6d036_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmMxMzVlNGQyYjBkYjRhZWU4MTgzOTk5ZWRmYjFiZTFjL3RhYmxlcmFuZ2U6YzEzNWU0ZDJiMGRiNGFlZTgxODM5OTllZGZiMWJlMWNfNC02LTEtMS0w_92e84563-1a65-4036-ade2-e844500835f6"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i15160989e15f4d6081cf89957bb162a0_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmMxMzVlNGQyYjBkYjRhZWU4MTgzOTk5ZWRmYjFiZTFjL3RhYmxlcmFuZ2U6YzEzNWU0ZDJiMGRiNGFlZTgxODM5OTllZGZiMWJlMWNfNC04LTEtMS0w_246a88c1-d45c-437d-935d-005c65b8b4fa"
      unitRef="usd">68693000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="icb7a62043e864ca3ba274c4d0ee7fd5a_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmMxMzVlNGQyYjBkYjRhZWU4MTgzOTk5ZWRmYjFiZTFjL3RhYmxlcmFuZ2U6YzEzNWU0ZDJiMGRiNGFlZTgxODM5OTllZGZiMWJlMWNfNS0yLTEtMS0w_47e59e4c-6cfc-4eae-a8a7-76214db88ee5"
      unitRef="usd">4533000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1743162a352742ddb5d63a3c534877c8_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmMxMzVlNGQyYjBkYjRhZWU4MTgzOTk5ZWRmYjFiZTFjL3RhYmxlcmFuZ2U6YzEzNWU0ZDJiMGRiNGFlZTgxODM5OTllZGZiMWJlMWNfNS00LTEtMS0w_d7bf74d8-b5bb-4576-b5e5-ec083b533876"
      unitRef="usd">2000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia6aca4023bae4d52ad6559e62aaaa8d5_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmMxMzVlNGQyYjBkYjRhZWU4MTgzOTk5ZWRmYjFiZTFjL3RhYmxlcmFuZ2U6YzEzNWU0ZDJiMGRiNGFlZTgxODM5OTllZGZiMWJlMWNfNS02LTEtMS0xMzc0_1f7907ac-1765-40c6-bd8f-7116ef244a6c"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i530343aedf1542acb345b58e1a8b03fc_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmMxMzVlNGQyYjBkYjRhZWU4MTgzOTk5ZWRmYjFiZTFjL3RhYmxlcmFuZ2U6YzEzNWU0ZDJiMGRiNGFlZTgxODM5OTllZGZiMWJlMWNfNS02LTEtMS0w_f03efb28-6080-4e91-b8b5-45fe958be3ac"
      unitRef="usd">-4535000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie49b913b16a44731bc4e1becaaf88354_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmMxMzVlNGQyYjBkYjRhZWU4MTgzOTk5ZWRmYjFiZTFjL3RhYmxlcmFuZ2U6YzEzNWU0ZDJiMGRiNGFlZTgxODM5OTllZGZiMWJlMWNfNi0yLTEtMS0w_abcadb81-1f00-4b0f-9b32-81d04b491bcf"
      unitRef="usd">247879000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i351148986c4c428195125f3c8b792e16_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmMxMzVlNGQyYjBkYjRhZWU4MTgzOTk5ZWRmYjFiZTFjL3RhYmxlcmFuZ2U6YzEzNWU0ZDJiMGRiNGFlZTgxODM5OTllZGZiMWJlMWNfNi00LTEtMS0w_b852fedc-f881-49e4-bf01-438ceb522b3c"
      unitRef="usd">27747000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1f35ce741650447488089a0f531ebddd_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmMxMzVlNGQyYjBkYjRhZWU4MTgzOTk5ZWRmYjFiZTFjL3RhYmxlcmFuZ2U6YzEzNWU0ZDJiMGRiNGFlZTgxODM5OTllZGZiMWJlMWNfNi02LTEtMS0xMzc0_12338029-f644-4480-93f9-bbca912f4b9a"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i24633322d1014562ad48d7eaf62a433c_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmMxMzVlNGQyYjBkYjRhZWU4MTgzOTk5ZWRmYjFiZTFjL3RhYmxlcmFuZ2U6YzEzNWU0ZDJiMGRiNGFlZTgxODM5OTllZGZiMWJlMWNfNi02LTEtMS0w_dc442401-33f6-44da-a11c-54e2439b5515"
      unitRef="usd">-4535000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i718948acaef748c5b8456e036c361332_D20200401-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83My9mcmFnOmUxNTA5ZTdkMmJjYjRmOGE5MzZhY2FjMGQ3YzdkYjVmL3RhYmxlOmMxMzVlNGQyYjBkYjRhZWU4MTgzOTk5ZWRmYjFiZTFjL3RhYmxlcmFuZ2U6YzEzNWU0ZDJiMGRiNGFlZTgxODM5OTllZGZiMWJlMWNfNi04LTEtMS0w_c1617453-fb5e-4a3f-ab0f-22b9c92a6ff5"
      unitRef="usd">271091000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1ebf5a8e20ff4bac8b05e7360d9208d5_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOjE2NDhjZTEzYTQ5NjQzYmE5NWFkNjhlYThkYzU2MmNkL3RhYmxlcmFuZ2U6MTY0OGNlMTNhNDk2NDNiYTk1YWQ2OGVhOGRjNTYyY2RfMy0yLTEtMS0w_3c7784b8-4505-49f7-a543-875595db3532"
      unitRef="usd">413031000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i8fb840e10a8f42738a8b9d77ff9eb977_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOjE2NDhjZTEzYTQ5NjQzYmE5NWFkNjhlYThkYzU2MmNkL3RhYmxlcmFuZ2U6MTY0OGNlMTNhNDk2NDNiYTk1YWQ2OGVhOGRjNTYyY2RfMy00LTEtMS0w_28e6fd77-8d46-46a5-9e7a-18fe5d81d18b"
      unitRef="usd">34303000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i077b7010969246f3b906d3c180bbb7ec_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOjE2NDhjZTEzYTQ5NjQzYmE5NWFkNjhlYThkYzU2MmNkL3RhYmxlcmFuZ2U6MTY0OGNlMTNhNDk2NDNiYTk1YWQ2OGVhOGRjNTYyY2RfMy02LTEtMS0xMDYz_15332534-99c0-4f72-bdf0-950f0ab435c6"
      unitRef="usd">93436000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i92d7badfabcd432581deda592e27907e_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOjE2NDhjZTEzYTQ5NjQzYmE5NWFkNjhlYThkYzU2MmNkL3RhYmxlcmFuZ2U6MTY0OGNlMTNhNDk2NDNiYTk1YWQ2OGVhOGRjNTYyY2RfMy02LTEtMS0w_05b5d924-45f8-44c9-ac34-178842b9fd0b"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i290b1d59e5d243f9aa4915d2411d797d_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOjE2NDhjZTEzYTQ5NjQzYmE5NWFkNjhlYThkYzU2MmNkL3RhYmxlcmFuZ2U6MTY0OGNlMTNhNDk2NDNiYTk1YWQ2OGVhOGRjNTYyY2RfMy04LTEtMS0w_8f817de4-6674-4ac3-ade4-6ed6f6736aca"
      unitRef="usd">540770000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ibf24017278a44ab6a556107d99e2c255_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOjE2NDhjZTEzYTQ5NjQzYmE5NWFkNjhlYThkYzU2MmNkL3RhYmxlcmFuZ2U6MTY0OGNlMTNhNDk2NDNiYTk1YWQ2OGVhOGRjNTYyY2RfNC0yLTEtMS0w_61a7af38-64f0-44c5-b59e-d91e7b436535"
      unitRef="usd">123212000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib728793672cb4cd6ac724acab3aa6688_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOjE2NDhjZTEzYTQ5NjQzYmE5NWFkNjhlYThkYzU2MmNkL3RhYmxlcmFuZ2U6MTY0OGNlMTNhNDk2NDNiYTk1YWQ2OGVhOGRjNTYyY2RfNC00LTEtMS0w_06511b4c-764d-45f0-be57-61083800f9c6"
      unitRef="usd">26313000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if86a52e7ea534ff6aae780f562b6d233_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOjE2NDhjZTEzYTQ5NjQzYmE5NWFkNjhlYThkYzU2MmNkL3RhYmxlcmFuZ2U6MTY0OGNlMTNhNDk2NDNiYTk1YWQ2OGVhOGRjNTYyY2RfNC02LTEtMS0xMDYz_57dfb436-1b5b-4c25-9104-1f565570cfbc"
      unitRef="usd">5643000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id53e7552c9904fa3aebac27349f11e42_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOjE2NDhjZTEzYTQ5NjQzYmE5NWFkNjhlYThkYzU2MmNkL3RhYmxlcmFuZ2U6MTY0OGNlMTNhNDk2NDNiYTk1YWQ2OGVhOGRjNTYyY2RfNC02LTEtMS0w_2cff5f3c-a4a2-41fa-9530-11a16a2e1abe"
      unitRef="usd">2939000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i97d05b66948444aa9a02650cd05ef62b_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOjE2NDhjZTEzYTQ5NjQzYmE5NWFkNjhlYThkYzU2MmNkL3RhYmxlcmFuZ2U6MTY0OGNlMTNhNDk2NDNiYTk1YWQ2OGVhOGRjNTYyY2RfNC04LTEtMS0w_698e4362-afb0-4992-bc01-0e7d0bb7aced"
      unitRef="usd">158107000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="if788eaa5d6c74750bbf747bb36e00005_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOjE2NDhjZTEzYTQ5NjQzYmE5NWFkNjhlYThkYzU2MmNkL3RhYmxlcmFuZ2U6MTY0OGNlMTNhNDk2NDNiYTk1YWQ2OGVhOGRjNTYyY2RfNS0yLTEtMS0w_4a03ad3c-8c43-4374-8998-b45ea7495dd9"
      unitRef="usd">10866000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2bc4f00f60494871b250cbd013145827_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOjE2NDhjZTEzYTQ5NjQzYmE5NWFkNjhlYThkYzU2MmNkL3RhYmxlcmFuZ2U6MTY0OGNlMTNhNDk2NDNiYTk1YWQ2OGVhOGRjNTYyY2RfNS00LTEtMS0w_83a6289c-64bd-4e72-9468-e66394cb894f"
      unitRef="usd">31000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ic5424925e4e144bf97a67ef45a7d4921_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOjE2NDhjZTEzYTQ5NjQzYmE5NWFkNjhlYThkYzU2MmNkL3RhYmxlcmFuZ2U6MTY0OGNlMTNhNDk2NDNiYTk1YWQ2OGVhOGRjNTYyY2RfNS02LTEtMS0xMDYz_01ef36b6-cd06-4d46-86a9-1ad435a80aed"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iea4adaf702694779b3c278c6826291a7_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOjE2NDhjZTEzYTQ5NjQzYmE5NWFkNjhlYThkYzU2MmNkL3RhYmxlcmFuZ2U6MTY0OGNlMTNhNDk2NDNiYTk1YWQ2OGVhOGRjNTYyY2RfNS02LTEtMS0w_20e85cc5-54de-40bb-90f3-7c39d9f24670"
      unitRef="usd">-10897000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id13650e850ac4aa19f8cd9912e655a48_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOjE2NDhjZTEzYTQ5NjQzYmE5NWFkNjhlYThkYzU2MmNkL3RhYmxlcmFuZ2U6MTY0OGNlMTNhNDk2NDNiYTk1YWQ2OGVhOGRjNTYyY2RfNi0yLTEtMS0w_13a961e9-056a-412c-8bdd-1696603b2fd5"
      unitRef="usd">547109000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2e53f596495b4bb6aafd67216ed0d1f2_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOjE2NDhjZTEzYTQ5NjQzYmE5NWFkNjhlYThkYzU2MmNkL3RhYmxlcmFuZ2U6MTY0OGNlMTNhNDk2NDNiYTk1YWQ2OGVhOGRjNTYyY2RfNi00LTEtMS0w_fc96a944-f082-4592-8fee-218ed6a40a35"
      unitRef="usd">60647000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ida94f54cc9974b52a91080164607a403_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOjE2NDhjZTEzYTQ5NjQzYmE5NWFkNjhlYThkYzU2MmNkL3RhYmxlcmFuZ2U6MTY0OGNlMTNhNDk2NDNiYTk1YWQ2OGVhOGRjNTYyY2RfNi02LTEtMS0xMDY3_cb4608f0-8364-45b9-86c8-1521119f25b5"
      unitRef="usd">99079000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id489de2fb23a42edbff66c289addfd98_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOjE2NDhjZTEzYTQ5NjQzYmE5NWFkNjhlYThkYzU2MmNkL3RhYmxlcmFuZ2U6MTY0OGNlMTNhNDk2NDNiYTk1YWQ2OGVhOGRjNTYyY2RfNi02LTEtMS0w_95ea064b-64d0-45bc-bf64-e44617ac66a3"
      unitRef="usd">-7958000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOjE2NDhjZTEzYTQ5NjQzYmE5NWFkNjhlYThkYzU2MmNkL3RhYmxlcmFuZ2U6MTY0OGNlMTNhNDk2NDNiYTk1YWQ2OGVhOGRjNTYyY2RfNi04LTEtMS0w_5b6af9c1-981d-49ef-8964-f3604651f1f9"
      unitRef="usd">698877000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i9b51997628d9437fb1a2411f5230900a_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOmM5MDA4MWMzNGYyNTQwMWRiY2YwNGUwN2E0YWQ3OGE4L3RhYmxlcmFuZ2U6YzkwMDgxYzM0ZjI1NDAxZGJjZjA0ZTA3YTRhZDc4YThfMy0yLTEtMS0w_39890e0e-91a7-4981-bfb9-a8abe2498470"
      unitRef="usd">367949000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i974f5829fee547209e6eca6c0b22f5bc_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOmM5MDA4MWMzNGYyNTQwMWRiY2YwNGUwN2E0YWQ3OGE4L3RhYmxlcmFuZ2U6YzkwMDgxYzM0ZjI1NDAxZGJjZjA0ZTA3YTRhZDc4YThfMy00LTEtMS0w_93094cf1-b877-462a-a0ea-4dedb726eef8"
      unitRef="usd">30537000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="iefee47f53ac34eac8bd21c5f430b9959_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOmM5MDA4MWMzNGYyNTQwMWRiY2YwNGUwN2E0YWQ3OGE4L3RhYmxlcmFuZ2U6YzkwMDgxYzM0ZjI1NDAxZGJjZjA0ZTA3YTRhZDc4YThfMy02LTEtMS0xMzc2_f4347237-c376-4996-9e8a-b94201299813"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ied61ef653c32401f92f78df89d6c2052_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOmM5MDA4MWMzNGYyNTQwMWRiY2YwNGUwN2E0YWQ3OGE4L3RhYmxlcmFuZ2U6YzkwMDgxYzM0ZjI1NDAxZGJjZjA0ZTA3YTRhZDc4YThfMy02LTEtMS0w_0bd487cc-e7d6-4dfc-828d-33fcf7a6d296"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i2d864e6d36fb417daa9fa21b78ce1d04_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOmM5MDA4MWMzNGYyNTQwMWRiY2YwNGUwN2E0YWQ3OGE4L3RhYmxlcmFuZ2U6YzkwMDgxYzM0ZjI1NDAxZGJjZjA0ZTA3YTRhZDc4YThfMy04LTEtMS0w_2ae3c5d8-f070-4ae5-942c-013c4b9568f8"
      unitRef="usd">398486000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i1b8807b91d5b44d0911645dd790863ee_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOmM5MDA4MWMzNGYyNTQwMWRiY2YwNGUwN2E0YWQ3OGE4L3RhYmxlcmFuZ2U6YzkwMDgxYzM0ZjI1NDAxZGJjZjA0ZTA3YTRhZDc4YThfNC0yLTEtMS0w_24b61596-c8e5-45c8-b1e6-29c88ca6f7d7"
      unitRef="usd">121573000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i38e190d6462a4476b850303fb6a053b4_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOmM5MDA4MWMzNGYyNTQwMWRiY2YwNGUwN2E0YWQ3OGE4L3RhYmxlcmFuZ2U6YzkwMDgxYzM0ZjI1NDAxZGJjZjA0ZTA3YTRhZDc4YThfNC00LTEtMS0w_af239061-8eec-40e0-b34e-56557847fe0e"
      unitRef="usd">27571000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="id060bbd95ceb45cfbad55d9108599195_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOmM5MDA4MWMzNGYyNTQwMWRiY2YwNGUwN2E0YWQ3OGE4L3RhYmxlcmFuZ2U6YzkwMDgxYzM0ZjI1NDAxZGJjZjA0ZTA3YTRhZDc4YThfNC02LTEtMS0xMzc2_8d89cbff-a07a-46a9-a39b-f885336c8639"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ib5c6670394ec406c976ddbe7ce7dae39_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOmM5MDA4MWMzNGYyNTQwMWRiY2YwNGUwN2E0YWQ3OGE4L3RhYmxlcmFuZ2U6YzkwMDgxYzM0ZjI1NDAxZGJjZjA0ZTA3YTRhZDc4YThfNC02LTEtMS0w_d35042bf-33a6-40c1-bad3-d1a9100be272"
      unitRef="usd">2000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i30c44af0ab404c35a28afdbadda2a3e0_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOmM5MDA4MWMzNGYyNTQwMWRiY2YwNGUwN2E0YWQ3OGE4L3RhYmxlcmFuZ2U6YzkwMDgxYzM0ZjI1NDAxZGJjZjA0ZTA3YTRhZDc4YThfNC04LTEtMS0w_4509b6b4-a06d-4af5-a0da-e15c81d02ab2"
      unitRef="usd">149146000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia15bb9c270b44b6faea7c50a4ca5663e_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOmM5MDA4MWMzNGYyNTQwMWRiY2YwNGUwN2E0YWQ3OGE4L3RhYmxlcmFuZ2U6YzkwMDgxYzM0ZjI1NDAxZGJjZjA0ZTA3YTRhZDc4YThfNS0yLTEtMS0w_ba8dd5b6-d60f-4f85-a4ec-9e77732ff2ba"
      unitRef="usd">8534000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i929d98418f934bb985fdc14d21aee815_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOmM5MDA4MWMzNGYyNTQwMWRiY2YwNGUwN2E0YWQ3OGE4L3RhYmxlcmFuZ2U6YzkwMDgxYzM0ZjI1NDAxZGJjZjA0ZTA3YTRhZDc4YThfNS00LTEtMS0w_7942fd4f-1031-4b74-880a-761d6c0802e5"
      unitRef="usd">20000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i30f16e02b3804de795fc74be20cf3068_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOmM5MDA4MWMzNGYyNTQwMWRiY2YwNGUwN2E0YWQ3OGE4L3RhYmxlcmFuZ2U6YzkwMDgxYzM0ZjI1NDAxZGJjZjA0ZTA3YTRhZDc4YThfNS02LTEtMS0xMzc2_8cb6df33-c8c0-40c0-8665-c8f2b4e97283"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i0aaa119d91824a538f291eec2a032173_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOmM5MDA4MWMzNGYyNTQwMWRiY2YwNGUwN2E0YWQ3OGE4L3RhYmxlcmFuZ2U6YzkwMDgxYzM0ZjI1NDAxZGJjZjA0ZTA3YTRhZDc4YThfNS02LTEtMS0w_80347b63-f463-4921-8f73-aae33f508901"
      unitRef="usd">-8554000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ia5965ed39eeb41c7a4cf12a6d5feb415_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOmM5MDA4MWMzNGYyNTQwMWRiY2YwNGUwN2E0YWQ3OGE4L3RhYmxlcmFuZ2U6YzkwMDgxYzM0ZjI1NDAxZGJjZjA0ZTA3YTRhZDc4YThfNi0yLTEtMS0w_c6bb1b50-afc9-4954-9135-bb3c55845b6a"
      unitRef="usd">498056000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i31b0445b54564ab8be291bf8d5cdb1f1_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOmM5MDA4MWMzNGYyNTQwMWRiY2YwNGUwN2E0YWQ3OGE4L3RhYmxlcmFuZ2U6YzkwMDgxYzM0ZjI1NDAxZGJjZjA0ZTA3YTRhZDc4YThfNi00LTEtMS0w_45a9fd4b-fe54-46a7-9ab2-b29ccee5caf2"
      unitRef="usd">58128000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i79a6511abb6f44d090c700ac1449f08c_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOmM5MDA4MWMzNGYyNTQwMWRiY2YwNGUwN2E0YWQ3OGE4L3RhYmxlcmFuZ2U6YzkwMDgxYzM0ZjI1NDAxZGJjZjA0ZTA3YTRhZDc4YThfNi02LTEtMS0xMzc2_4d92402a-a489-4518-bf6f-badc0de2a292"
      unitRef="usd">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="i426bd942fdff4eef9e9ea78db5bf109d_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOmM5MDA4MWMzNGYyNTQwMWRiY2YwNGUwN2E0YWQ3OGE4L3RhYmxlcmFuZ2U6YzkwMDgxYzM0ZjI1NDAxZGJjZjA0ZTA3YTRhZDc4YThfNi02LTEtMS0w_10107148-44a3-473a-b6ee-ce72345526ed"
      unitRef="usd">-8552000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="ie6ced652b9d34354a904053950e7db72_D20200101-20200630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83Ni9mcmFnOjcxYjAxZjU4MjJhODQ4YjRiYzUyZDI2MjA4NTk0MmM5L3RhYmxlOmM5MDA4MWMzNGYyNTQwMWRiY2YwNGUwN2E0YWQ3OGE4L3RhYmxlcmFuZ2U6YzkwMDgxYzM0ZjI1NDAxZGJjZjA0ZTA3YTRhZDc4YThfNi04LTEtMS0w_ab82917a-3f35-47ce-8d30-7e9105b735ef"
      unitRef="usd">547632000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83OS9mcmFnOmViNzllYWViZjJmNDRkMmY4ZTczY2FhNzIyNGE1OGJiL3RleHRyZWdpb246ZWI3OWVhZWJmMmY0NGQyZjhlNzNjYWE3MjI0YTU4YmJfNjg4_64bd8cb9-a39b-4e87-a990-adcbfa92969c">&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Total deferred revenue, including long-term, by segment is as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt;text-align:justify"&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:92.543%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:51.822%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.589%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:21.490%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.589%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:21.810%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;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:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Enterprise Software&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;442,822&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;422,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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Appraisal&#160;and&#160;Tax&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;37,419&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="2" style="padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;36,945&#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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;NIC&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;2,719&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Corporate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,590&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;1,691&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Totals&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 #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;484,550&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;461,378&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Changes in total deferred revenue, including long-term, were as follows:&lt;/span&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:76.754%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:74.138%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.133%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;td style="width:1.0%"/&gt;&lt;td style="width:22.329%"/&gt;&lt;td style="width:0.1%"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:0 1pt"/&gt;&lt;td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:8pt;font-weight:400;line-height:100%"&gt;Six months ended June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of December 31, 2020&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;461,378&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Deferral of revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;569,106&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Recognition of deferred revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"/&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;(545,934)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#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;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;td colspan="3" style="display:none"/&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;Balance as of June 30, 2021&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"/&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"&gt;484,550&#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:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i96a001942ac64c6ab396dcabba277b5f_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83OS9mcmFnOmViNzllYWViZjJmNDRkMmY4ZTczY2FhNzIyNGE1OGJiL3RhYmxlOjQ3ZTBiYTBjMDQ3MzQ0Mjk4NTllOTRkMTFlNzcyZGU4L3RhYmxlcmFuZ2U6NDdlMGJhMGMwNDczNDQyOTg1OWU5NGQxMWU3NzJkZThfMS0yLTEtMS0w_41d472ba-acfc-41dd-a7e5-206843326a6b"
      unitRef="usd">442822000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i6f8d697c8eb7455e993ed82cb6d508b7_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83OS9mcmFnOmViNzllYWViZjJmNDRkMmY4ZTczY2FhNzIyNGE1OGJiL3RhYmxlOjQ3ZTBiYTBjMDQ3MzQ0Mjk4NTllOTRkMTFlNzcyZGU4L3RhYmxlcmFuZ2U6NDdlMGJhMGMwNDczNDQyOTg1OWU5NGQxMWU3NzJkZThfMS00LTEtMS0w_801bede3-5434-4701-bca3-6401f4e64f77"
      unitRef="usd">422742000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i2263db3990a44dc5b75d2139be1dc592_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83OS9mcmFnOmViNzllYWViZjJmNDRkMmY4ZTczY2FhNzIyNGE1OGJiL3RhYmxlOjQ3ZTBiYTBjMDQ3MzQ0Mjk4NTllOTRkMTFlNzcyZGU4L3RhYmxlcmFuZ2U6NDdlMGJhMGMwNDczNDQyOTg1OWU5NGQxMWU3NzJkZThfMi0yLTEtMS0w_a575ac22-7fc2-414d-a0ec-6dba145e2e64"
      unitRef="usd">37419000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i97d806b8e812475793f083aa1e99fa35_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83OS9mcmFnOmViNzllYWViZjJmNDRkMmY4ZTczY2FhNzIyNGE1OGJiL3RhYmxlOjQ3ZTBiYTBjMDQ3MzQ0Mjk4NTllOTRkMTFlNzcyZGU4L3RhYmxlcmFuZ2U6NDdlMGJhMGMwNDczNDQyOTg1OWU5NGQxMWU3NzJkZThfMi00LTEtMS0w_803e59b4-e850-424f-b1db-c8819106098b"
      unitRef="usd">36945000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="ieeaaf565aabc40edb0d5f89d75a525e3_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83OS9mcmFnOmViNzllYWViZjJmNDRkMmY4ZTczY2FhNzIyNGE1OGJiL3RhYmxlOjQ3ZTBiYTBjMDQ3MzQ0Mjk4NTllOTRkMTFlNzcyZGU4L3RhYmxlcmFuZ2U6NDdlMGJhMGMwNDczNDQyOTg1OWU5NGQxMWU3NzJkZThfMy0yLTEtMS0zMjU2_aefac71b-9070-4364-b5be-f0eddc277671"
      unitRef="usd">2719000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i46417e17f15542a38b0624a14261a37c_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83OS9mcmFnOmViNzllYWViZjJmNDRkMmY4ZTczY2FhNzIyNGE1OGJiL3RhYmxlOjQ3ZTBiYTBjMDQ3MzQ0Mjk4NTllOTRkMTFlNzcyZGU4L3RhYmxlcmFuZ2U6NDdlMGJhMGMwNDczNDQyOTg1OWU5NGQxMWU3NzJkZThfMy00LTEtMS0zMjU2_ac718c85-3d12-4fc9-8fcb-68fd93eb2459"
      unitRef="usd">0</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="if4c3ab53d71c4e58b85f073eaa37204f_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83OS9mcmFnOmViNzllYWViZjJmNDRkMmY4ZTczY2FhNzIyNGE1OGJiL3RhYmxlOjQ3ZTBiYTBjMDQ3MzQ0Mjk4NTllOTRkMTFlNzcyZGU4L3RhYmxlcmFuZ2U6NDdlMGJhMGMwNDczNDQyOTg1OWU5NGQxMWU3NzJkZThfMy0yLTEtMS0w_4e66af3a-457b-48ee-a15c-9216f7aac591"
      unitRef="usd">1590000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i47baca78cc2c40c28b51d39717327fd4_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83OS9mcmFnOmViNzllYWViZjJmNDRkMmY4ZTczY2FhNzIyNGE1OGJiL3RhYmxlOjQ3ZTBiYTBjMDQ3MzQ0Mjk4NTllOTRkMTFlNzcyZGU4L3RhYmxlcmFuZ2U6NDdlMGJhMGMwNDczNDQyOTg1OWU5NGQxMWU3NzJkZThfMy00LTEtMS0w_323c2128-c148-4b55-af6f-9f37b501793d"
      unitRef="usd">1691000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83OS9mcmFnOmViNzllYWViZjJmNDRkMmY4ZTczY2FhNzIyNGE1OGJiL3RhYmxlOjQ3ZTBiYTBjMDQ3MzQ0Mjk4NTllOTRkMTFlNzcyZGU4L3RhYmxlcmFuZ2U6NDdlMGJhMGMwNDczNDQyOTg1OWU5NGQxMWU3NzJkZThfNC0yLTEtMS0w_ff40ea1b-8a1b-4d46-b9cc-cf8b9fffaf3c"
      unitRef="usd">484550000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83OS9mcmFnOmViNzllYWViZjJmNDRkMmY4ZTczY2FhNzIyNGE1OGJiL3RhYmxlOjQ3ZTBiYTBjMDQ3MzQ0Mjk4NTllOTRkMTFlNzcyZGU4L3RhYmxlcmFuZ2U6NDdlMGJhMGMwNDczNDQyOTg1OWU5NGQxMWU3NzJkZThfNC00LTEtMS0w_ac0ba4e0-b29e-4990-87c6-749512fa709b"
      unitRef="usd">461378000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability
      contextRef="ief83b9462a8e40638c329b9faef696a1_I20201231"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83OS9mcmFnOmViNzllYWViZjJmNDRkMmY4ZTczY2FhNzIyNGE1OGJiL3RhYmxlOmRkNzc5YzBhYjEyNTRkNzdiMzZlMGM0NDFmNzY1OTIzL3RhYmxlcmFuZ2U6ZGQ3NzljMGFiMTI1NGQ3N2IzNmUwYzQ0MWY3NjU5MjNfMS0yLTEtMS0w_ac0ba4e0-b29e-4990-87c6-749512fa709b"
      unitRef="usd">461378000</us-gaap:ContractWithCustomerLiability>
    <tyl:ContractWithCustomerLiabilityIncreaseFromDeferral
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83OS9mcmFnOmViNzllYWViZjJmNDRkMmY4ZTczY2FhNzIyNGE1OGJiL3RhYmxlOmRkNzc5YzBhYjEyNTRkNzdiMzZlMGM0NDFmNzY1OTIzL3RhYmxlcmFuZ2U6ZGQ3NzljMGFiMTI1NGQ3N2IzNmUwYzQ0MWY3NjU5MjNfMi0yLTEtMS0w_03add835-6887-4730-8a57-8acea775ba03"
      unitRef="usd">569106000</tyl:ContractWithCustomerLiabilityIncreaseFromDeferral>
    <tyl:ContractWithCustomerLiabilityRevenueRecognizedIncludingOpeningBalance
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83OS9mcmFnOmViNzllYWViZjJmNDRkMmY4ZTczY2FhNzIyNGE1OGJiL3RhYmxlOmRkNzc5YzBhYjEyNTRkNzdiMzZlMGM0NDFmNzY1OTIzL3RhYmxlcmFuZ2U6ZGQ3NzljMGFiMTI1NGQ3N2IzNmUwYzQ0MWY3NjU5MjNfMy0yLTEtMS0w_b9c7a399-8286-423c-b5ad-131ca4fcd962"
      unitRef="usd">545934000</tyl:ContractWithCustomerLiabilityRevenueRecognizedIncludingOpeningBalance>
    <us-gaap:ContractWithCustomerLiability
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83OS9mcmFnOmViNzllYWViZjJmNDRkMmY4ZTczY2FhNzIyNGE1OGJiL3RhYmxlOmRkNzc5YzBhYjEyNTRkNzdiMzZlMGM0NDFmNzY1OTIzL3RhYmxlcmFuZ2U6ZGQ3NzljMGFiMTI1NGQ3N2IzNmUwYzQ0MWY3NjU5MjNfOS0yLTEtMS0w_762e5004-a642-4b1a-9203-f1ece071bd0f"
      unitRef="usd">484550000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-7"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83OS9mcmFnOmViNzllYWViZjJmNDRkMmY4ZTczY2FhNzIyNGE1OGJiL3RleHRyZWdpb246ZWI3OWVhZWJmMmY0NGQyZjhlNzNjYWE3MjI0YTU4YmJfNTc0_52ec85a3-7a85-4cf2-bb0e-6981a20396c8"
      unitRef="usd">1630000000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligationPercentage
      contextRef="ie57dfeaf5661405d811064257b597650_I20210630"
      decimals="2"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83OS9mcmFnOmViNzllYWViZjJmNDRkMmY4ZTczY2FhNzIyNGE1OGJiL3RleHRyZWdpb246ZWI3OWVhZWJmMmY0NGQyZjhlNzNjYWE3MjI0YTU4YmJfNjI0_b541845b-9ef8-465a-8067-d615672bc881"
      unitRef="number">0.47</us-gaap:RevenueRemainingPerformanceObligationPercentage>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="ie57dfeaf5661405d811064257b597650_I20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF83OS9mcmFnOmViNzllYWViZjJmNDRkMmY4ZTczY2FhNzIyNGE1OGJiL3RleHRyZWdpb246ZWI3OWVhZWJmMmY0NGQyZjhlNzNjYWE3MjI0YTU4YmJfNjUy_fc39bf5d-81e6-4678-9e66-ac2c9b751c28">P12M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF84Mi9mcmFnOmQzNzNmMDYwNTI3NDRlM2Y5MDcyYmY1MDM0NWQ1MjhkL3RleHRyZWdpb246ZDM3M2YwNjA1Mjc0NGUzZjkwNzJiZjUwMzQ1ZDUyOGRfMTE1Mg_df8d8c44-1075-4ade-8d06-c04c5bb375ec">Commitments and Contingencies&lt;div style="margin-top:12pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Security Incident&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As previously disclosed, we experienced a security incident in September 2020 (the &#x201c;Incident&#x201d;) involving ransomware disrupting access to some of our internal information technology (IT) systems and telephone systems. Although we believe we have contained and recovered from the Incident, and that we have taken and will continue to take appropriate remediation steps, we are subject to risk and uncertainties as a result of the Incident. We have completed our investigation and remediation efforts related to the Incident. For the six months period ended June&#160;30, 2021, we have recorded $336,000 of expenses and recorded approximately $637,000 of accrued insurance recoveries. The recorded costs consist primarily of payments to third-party service providers and consultants, including legal fees, and enhancements to our cybersecurity measures. We maintain cybersecurity insurance coverage in an amount that we believe is adequate.&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-bottom:6pt;margin-top:6pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Litigation&lt;/span&gt;&lt;/div&gt;&lt;div style="margin-top:9pt"&gt;&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Other than routine litigation incidental to our business, there are no material legal proceedings pending to which we are party or to which any of our properties are subject.&lt;/span&gt;&lt;/div&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:AccruedInsuranceCurrentAndNoncurrent
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF84Mi9mcmFnOmQzNzNmMDYwNTI3NDRlM2Y5MDcyYmY1MDM0NWQ1MjhkL3RleHRyZWdpb246ZDM3M2YwNjA1Mjc0NGUzZjkwNzJiZjUwMzQ1ZDUyOGRfNjMx_2361b30c-c2db-4b6d-b729-01d64ed4a800"
      unitRef="usd">336000</us-gaap:AccruedInsuranceCurrentAndNoncurrent>
    <us-gaap:InsuranceRecoveries
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      decimals="-3"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF84Mi9mcmFnOmQzNzNmMDYwNTI3NDRlM2Y5MDcyYmY1MDM0NWQ1MjhkL3RleHRyZWdpb246ZDM3M2YwNjA1Mjc0NGUzZjkwNzJiZjUwMzQ1ZDUyOGRfNjcz_14d541a7-c755-41f6-826c-330de47fc124"
      unitRef="usd">637000</us-gaap:InsuranceRecoveries>
    <tyl:NumberOfLegalProceedingsThatHaveMaterialEffect
      contextRef="i4c386b2e99f64ebbb0bf8fbd0eaaded5_I20210630"
      decimals="INF"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF84Mi9mcmFnOmQzNzNmMDYwNTI3NDRlM2Y5MDcyYmY1MDM0NWQ1MjhkL3RleHRyZWdpb246ZDM3M2YwNjA1Mjc0NGUzZjkwNzJiZjUwMzQ1ZDUyOGRfMTA0NA_c55e38fa-d20d-408f-9150-0ec0c8be8101"
      unitRef="legalmatter">0</tyl:NumberOfLegalProceedingsThatHaveMaterialEffect>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="i2e9a8177a2d549129b2aff1538c1dc99_D20210101-20210630"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF84NS9mcmFnOmEzZmRjNjI3NWQzZTRlNDBhYmYxZjE2Zjg4M2RmZjI0L3RleHRyZWdpb246YTNmZGM2Mjc1ZDNlNGU0MGFiZjFmMTZmODgzZGZmMjRfNDc1OQ_5c70007a-07ab-4d26-8c52-99a84d551d01">Subsequent Events&lt;span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; &lt;/span&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On June 3, 2021, the Company announced that it signed an agreement to acquire VendEngine, Inc., a privately-held cloud-based software provider focused on financial technology for the corrections market. The purchase price is approximately $84&#160;million in cash, subject to certain customary adjustments at closing, &lt;/span&gt;which is expected in late third quarter of 2021. There have been no material events or transactions that occurred subsequent to June&#160;30, 2021.</us-gaap:SubsequentEventsTextBlock>
    <us-gaap:PaymentsToAcquireBusinessesGross
      contextRef="i4b85bf1385fb4657a16db3afed9a95f6_D20210701-20210930"
      decimals="-6"
      id="id3VybDovL2RvY3MudjEvZG9jOmQ3ZjUzZDIwOGI1ZDQ1YWE4NDIyYjIzMzA1ZTYxZjlkL3NlYzpkN2Y1M2QyMDhiNWQ0NWFhODQyMmIyMzMwNWU2MWY5ZF84NS9mcmFnOmEzZmRjNjI3NWQzZTRlNDBhYmYxZjE2Zjg4M2RmZjI0L3RleHRyZWdpb246YTNmZGM2Mjc1ZDNlNGU0MGFiZjFmMTZmODgzZGZmMjRfNTQ5NzU1ODE0OTEyOA_ec4e753d-29bf-42c8-98f7-1a4e64ae0d0f"
      unitRef="usd">84000000</us-gaap:PaymentsToAcquireBusinessesGross>
</xbrl>
