<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xml:lang="en-US"
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:appn="http://www.appian.com/20260630"
  xmlns:country="http://xbrl.sec.gov/country/2026"
  xmlns:dei="http://xbrl.sec.gov/dei/2026"
  xmlns:ecd="http://xbrl.sec.gov/ecd/2026"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2026"
  xmlns:us-gaap="http://fasb.org/us-gaap/2026"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="appn-20260630.xsd" xlink:type="simple"/>
    <context id="c-1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-08-03</instant>
        </period>
    </context>
    <context id="c-3">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-08-03</instant>
        </period>
    </context>
    <context id="c-4">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-5">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="c-6">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-7">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassAMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="c-8">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-9">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:CommonClassBMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="c-10">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appn:SubscriptionsSoftwareAndSupportMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-11">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appn:SubscriptionsSoftwareAndSupportMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-12">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appn:SubscriptionsSoftwareAndSupportMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-13">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appn:SubscriptionsSoftwareAndSupportMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-14">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appn:ProfessionalServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-15">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appn:ProfessionalServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-16">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appn:ProfessionalServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-17">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appn:ProfessionalServicesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-18">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-19">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-20">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-21">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="c-22">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="c-23">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="c-24">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="c-25">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="c-26">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-03-31</endDate>
        </period>
    </context>
    <context id="c-27">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-03-31</endDate>
        </period>
    </context>
    <context id="c-28">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-03-31</endDate>
        </period>
    </context>
    <context id="c-29">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-03-31</endDate>
        </period>
    </context>
    <context id="c-30">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-03-31</endDate>
        </period>
    </context>
    <context id="c-31">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-03-31</endDate>
        </period>
    </context>
    <context id="c-32">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-03-31</instant>
        </period>
    </context>
    <context id="c-33">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-03-31</instant>
        </period>
    </context>
    <context id="c-34">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-03-31</instant>
        </period>
    </context>
    <context id="c-35">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-03-31</instant>
        </period>
    </context>
    <context id="c-36">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-03-31</instant>
        </period>
    </context>
    <context id="c-37">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
        </entity>
        <period>
            <instant>2026-03-31</instant>
        </period>
    </context>
    <context id="c-38">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-39">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-40">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-41">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-42">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-43">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-44">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-45">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-46">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-47">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-48">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-49">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-50">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-51">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-52">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-53">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="c-54">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="c-55">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="c-56">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="c-57">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="c-58">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="c-59">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="c-60">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="c-61">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="c-62">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="c-63">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="c-64">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="c-65">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-66">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-67">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-68">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-69">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-70">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="c-71">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="c-72">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="c-73">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="c-74">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="c-75">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="c-76">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">appn:FederalGovernmentAgenciesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-77">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">appn:FederalGovernmentAgenciesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-78">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">appn:InternationalCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-79">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">appn:InternationalCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-80">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">appn:FederalGovernmentAgenciesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-81">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">appn:FederalGovernmentAgenciesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-82">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">appn:InternationalCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-83">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">appn:InternationalCustomersMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-84">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">appn:CustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-85">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">appn:CustomerOneMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-12-31</endDate>
        </period>
    </context>
    <context id="c-86">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-87">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">appn:ComputerSoftwareAndHardwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-88">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-89">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-90">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appn:CloudSubscriptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-91">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appn:CloudSubscriptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-92">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appn:CloudSubscriptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-93">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appn:CloudSubscriptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-94">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appn:OtherSubscriptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-95">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appn:OtherSubscriptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-96">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appn:OtherSubscriptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-97">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appn:OtherSubscriptionsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-98">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-99">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-100">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appn:CloudSubscriptionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-101">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appn:CloudSubscriptionsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-102">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:date.domain>2026-07-01</us-gaap:date.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-103">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-12-31</endDate>
        </period>
    </context>
    <context id="c-104">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-105">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:DevelopedTechnologyRightsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="c-106">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-107">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="c-108">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-109">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="c-110">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:FurnitureAndFixturesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="c-111">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">appn:ComputerSoftwareAndHardwareMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="c-112">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:SoftwareDevelopmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="c-113">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:EquipmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="c-114">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">appn:PropertyPlantAndEquipmentWorkInProcessMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-115">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">appn:PropertyPlantAndEquipmentWorkInProcessMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="c-116">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-117">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-118">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-119">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:LetterOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-120">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">appn:SwinglineSubFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-121">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputEbitdaMultipleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-122">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputEbitdaMultipleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:BaseRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-123">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputEbitdaMultipleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-124">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:MeasurementInputTypeAxis">us-gaap:MeasurementInputEbitdaMultipleMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:SecuredOvernightFinancingRateSofrMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-125">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">appn:NewCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-08-05</instant>
        </period>
    </context>
    <context id="c-126">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">appn:NewCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-08-05</instant>
        </period>
    </context>
    <context id="c-127">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">appn:TermLoanFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">appn:NewCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-08-05</instant>
        </period>
    </context>
    <context id="c-128">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-08-05</startDate>
            <endDate>2026-08-05</endDate>
        </period>
    </context>
    <context id="c-129">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">appn:NewCreditAgreementMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-08-05</startDate>
            <endDate>2026-08-05</endDate>
        </period>
    </context>
    <context id="c-130">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:LineOfCreditMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="c-131">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:LongtermDebtTypeAxis">us-gaap:SecuredDebtMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="c-132">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-133">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ConsolidatedEntitiesAxis">srt:SubsidiariesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-134">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-135">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:TitleOfIndividualAxis">srt:ChiefExecutiveOfficerMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-136">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-137">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-138">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-139">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-140">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-141">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appn:SubscriptionsSoftwareAndSupportMember</xbrldi:explicitMember>
                <xbrldi:typedMember dimension="us-gaap:StatementOfIncomeLocationBalanceAxis">
                    <us-gaap:QName.domain>us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax</us-gaap:QName.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-142">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appn:SubscriptionsSoftwareAndSupportMember</xbrldi:explicitMember>
                <xbrldi:typedMember dimension="us-gaap:StatementOfIncomeLocationBalanceAxis">
                    <us-gaap:QName.domain>us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax</us-gaap:QName.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-143">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appn:SubscriptionsSoftwareAndSupportMember</xbrldi:explicitMember>
                <xbrldi:typedMember dimension="us-gaap:StatementOfIncomeLocationBalanceAxis">
                    <us-gaap:QName.domain>us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax</us-gaap:QName.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-144">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appn:SubscriptionsSoftwareAndSupportMember</xbrldi:explicitMember>
                <xbrldi:typedMember dimension="us-gaap:StatementOfIncomeLocationBalanceAxis">
                    <us-gaap:QName.domain>us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax</us-gaap:QName.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-145">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appn:ProfessionalServicesMember</xbrldi:explicitMember>
                <xbrldi:typedMember dimension="us-gaap:StatementOfIncomeLocationBalanceAxis">
                    <us-gaap:QName.domain>us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax</us-gaap:QName.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-146">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appn:ProfessionalServicesMember</xbrldi:explicitMember>
                <xbrldi:typedMember dimension="us-gaap:StatementOfIncomeLocationBalanceAxis">
                    <us-gaap:QName.domain>us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax</us-gaap:QName.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-147">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appn:ProfessionalServicesMember</xbrldi:explicitMember>
                <xbrldi:typedMember dimension="us-gaap:StatementOfIncomeLocationBalanceAxis">
                    <us-gaap:QName.domain>us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax</us-gaap:QName.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-148">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">appn:ProfessionalServicesMember</xbrldi:explicitMember>
                <xbrldi:typedMember dimension="us-gaap:StatementOfIncomeLocationBalanceAxis">
                    <us-gaap:QName.domain>us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax</us-gaap:QName.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-149">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:StatementOfIncomeLocationBalanceAxis">
                    <us-gaap:QName.domain>us-gaap:SellingAndMarketingExpense</us-gaap:QName.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-150">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:StatementOfIncomeLocationBalanceAxis">
                    <us-gaap:QName.domain>us-gaap:MarketingExpense</us-gaap:QName.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-151">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:StatementOfIncomeLocationBalanceAxis">
                    <us-gaap:QName.domain>us-gaap:MarketingExpense</us-gaap:QName.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-152">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:StatementOfIncomeLocationBalanceAxis">
                    <us-gaap:QName.domain>us-gaap:MarketingExpense</us-gaap:QName.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-153">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:StatementOfIncomeLocationBalanceAxis">
                    <us-gaap:QName.domain>us-gaap:ResearchAndDevelopmentExpense</us-gaap:QName.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-154">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:StatementOfIncomeLocationBalanceAxis">
                    <us-gaap:QName.domain>us-gaap:ResearchAndDevelopmentExpense</us-gaap:QName.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-155">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:StatementOfIncomeLocationBalanceAxis">
                    <us-gaap:QName.domain>us-gaap:ResearchAndDevelopmentExpense</us-gaap:QName.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-156">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:StatementOfIncomeLocationBalanceAxis">
                    <us-gaap:QName.domain>us-gaap:ResearchAndDevelopmentExpense</us-gaap:QName.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-157">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:StatementOfIncomeLocationBalanceAxis">
                    <us-gaap:QName.domain>us-gaap:GeneralAndAdministrativeExpense</us-gaap:QName.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-158">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:StatementOfIncomeLocationBalanceAxis">
                    <us-gaap:QName.domain>us-gaap:GeneralAndAdministrativeExpense</us-gaap:QName.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-159">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:StatementOfIncomeLocationBalanceAxis">
                    <us-gaap:QName.domain>us-gaap:GeneralAndAdministrativeExpense</us-gaap:QName.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-160">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:StatementOfIncomeLocationBalanceAxis">
                    <us-gaap:QName.domain>us-gaap:GeneralAndAdministrativeExpense</us-gaap:QName.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-161">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-162">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-163">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-164">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-165">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-166">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-167">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-168">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-169">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
        </entity>
        <period>
            <instant>2024-10-31</instant>
        </period>
    </context>
    <context id="c-170">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
        </entity>
        <period>
            <startDate>2024-10-01</startDate>
            <endDate>2024-10-31</endDate>
        </period>
    </context>
    <context id="c-171">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">appn:PegasystemsLitigationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GainContingenciesByNatureAxis">appn:MisappropriationOfTradeSecretsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LitigationStatusAxis">us-gaap:SettledLitigationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-05-10</startDate>
            <endDate>2022-05-10</endDate>
        </period>
    </context>
    <context id="c-172">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">appn:PegasystemsLitigationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GainContingenciesByNatureAxis">appn:ViolationOfVirginiaComputerCrimesActMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LitigationStatusAxis">us-gaap:SettledLitigationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-05-10</startDate>
            <endDate>2022-05-10</endDate>
        </period>
    </context>
    <context id="c-173">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">appn:PegasystemsLitigationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GainContingenciesByNatureAxis">appn:AttorneysFeesAssociatedMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LitigationStatusAxis">us-gaap:SettledLitigationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-09-15</startDate>
            <endDate>2022-09-15</endDate>
        </period>
    </context>
    <context id="c-174">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">appn:PegasystemsLitigationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GainContingenciesByNatureAxis">appn:StatutoryPostJudgementInterestOnJudgmentalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LitigationStatusAxis">us-gaap:SettledLitigationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-09-15</startDate>
            <endDate>2022-09-15</endDate>
        </period>
    </context>
    <context id="c-175">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">appn:YouyongZouLitigationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LitigationStatusAxis">us-gaap:SettledLitigationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2022-09-15</startDate>
            <endDate>2022-09-15</endDate>
        </period>
    </context>
    <context id="c-176">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">appn:PegasystemsLitigationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-09-01</startDate>
            <endDate>2023-09-01</endDate>
        </period>
    </context>
    <context id="c-177">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">appn:PegasystemsLitigationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-178">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">appn:PegasystemsLitigationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-179">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">appn:PegasystemsLitigationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-180">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">appn:PegasystemsLitigationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-181">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">appn:PegasystemsLitigationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-182">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">appn:PegasystemsLitigationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LitigationStatusAxis">us-gaap:PendingLitigationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="dei:LegalEntityAxis">appn:PegasystemsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-03-01</startDate>
            <endDate>2026-03-31</endDate>
        </period>
    </context>
    <context id="c-183">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">appn:PegasystemsLitigationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GainContingenciesByNatureAxis">appn:DamagesFromCompetitiveSituationsRelatedToCounterclaimsOnDefamationCaseWithPegasystemsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LitigationStatusAxis">us-gaap:PendingLitigationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-03-31</instant>
        </period>
    </context>
    <context id="c-184">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:LitigationCaseAxis">appn:PegasystemsLitigationMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:GainContingenciesByNatureAxis">appn:DamagesFromPegasystemsTotalProfitsDerivedFromConductAtIssueInTheCounterclaimsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:LitigationStatusAxis">us-gaap:PendingLitigationMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-03-31</instant>
        </period>
    </context>
    <context id="c-185">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
        </entity>
        <period>
            <instant>2026-02-17</instant>
        </period>
    </context>
    <context id="c-186">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
        </entity>
        <period>
            <instant>2026-05-05</instant>
        </period>
    </context>
    <context id="c-187">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-188">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-189">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-190">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-191">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-192">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-193">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="c-194">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="c-195">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-196">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-197">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="c-198">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">us-gaap:NonUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="c-199">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-200">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-201">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-202">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-203">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-204">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-205">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-206">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-207">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-208">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="c-209">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="c-210">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:CashMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="c-211">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel1Member</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="c-212">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:CashAndCashEquivalentsAxis">us-gaap:MoneyMarketFundsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="c-213">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="c-214">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:USTreasuryBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="c-215">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="c-216">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CommercialPaperMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="c-217">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FairValueByFairValueHierarchyLevelAxis">us-gaap:FairValueInputsLevel2Member</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="c-218">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001441683</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:FinancialInstrumentAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <unit id="shares">
        <measure>shares</measure>
    </unit>
    <unit id="usd">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="usdPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="number">
        <measure>pure</measure>
    </unit>
    <unit id="segment">
        <measure>appn:segment</measure>
    </unit>
    <dei:EntityCentralIndexKey contextRef="c-1" id="f-26">0001441683</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate contextRef="c-1" id="f-27">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus contextRef="c-1" id="f-28">2026</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus contextRef="c-1" id="f-29">Q2</dei:DocumentFiscalPeriodFocus>
    <dei:AmendmentFlag contextRef="c-1" id="f-30">false</dei:AmendmentFlag>
    <appn:SubscriptionContractsTerm contextRef="c-98" id="f-453">P1Y</appn:SubscriptionContractsTerm>
    <appn:SubscriptionContractsTerm contextRef="c-100" id="f-455">P1Y</appn:SubscriptionContractsTerm>
    <dei:DocumentType contextRef="c-1" id="f-1">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport contextRef="c-1" id="f-2">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate contextRef="c-1" id="f-3">2026-06-30</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport contextRef="c-1" id="f-4">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="c-1" id="f-5">001-38098</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="c-1" id="f-6">APPIAN CORPORATION</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="c-1" id="f-7">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="c-1" id="f-8">54-1956084</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="c-1" id="f-9">7950 Jones Branch Drive</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="c-1" id="f-10">McLean</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="c-1" id="f-11">VA</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="c-1" id="f-12">22102</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="c-1" id="f-13">(703)</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="c-1" id="f-14">442-8844</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="c-1" id="f-15">Class A Common Stock</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="c-1" id="f-16">APPN</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="c-1" id="f-17">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus contextRef="c-1" id="f-18">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent contextRef="c-1" id="f-19">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="c-1" id="f-20">Large Accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="c-1" id="f-21">false</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="c-1" id="f-22">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany contextRef="c-1" id="f-23">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding contextRef="c-2" decimals="INF" id="f-24" unitRef="shares">40540212</dei:EntityCommonStockSharesOutstanding>
    <dei:EntityCommonStockSharesOutstanding contextRef="c-3" decimals="INF" id="f-25" unitRef="shares">31087385</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-4" decimals="-3" id="f-31" unitRef="usd">121111000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-5" decimals="-3" id="f-32" unitRef="usd">135810000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:ShortTermInvestments contextRef="c-4" decimals="-3" id="f-33" unitRef="usd">46755000</us-gaap:ShortTermInvestments>
    <us-gaap:ShortTermInvestments contextRef="c-5" decimals="-3" id="f-34" unitRef="usd">51415000</us-gaap:ShortTermInvestments>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c-4" decimals="-3" id="f-35" unitRef="usd">3416000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c-5" decimals="-3" id="f-36" unitRef="usd">3362000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c-4" decimals="-3" id="f-37" unitRef="usd">171162000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="c-5" decimals="-3" id="f-38" unitRef="usd">255063000</us-gaap:AccountsReceivableNetCurrent>
    <appn:DeferredCommissionsCurrent contextRef="c-4" decimals="-3" id="f-39" unitRef="usd">38026000</appn:DeferredCommissionsCurrent>
    <appn:DeferredCommissionsCurrent contextRef="c-5" decimals="-3" id="f-40" unitRef="usd">35166000</appn:DeferredCommissionsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent contextRef="c-4" decimals="-3" id="f-41" unitRef="usd">32952000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:PrepaidExpenseAndOtherAssetsCurrent contextRef="c-5" decimals="-3" id="f-42" unitRef="usd">41970000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="c-4" decimals="-3" id="f-43" unitRef="usd">410006000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="c-5" decimals="-3" id="f-44" unitRef="usd">519424000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization contextRef="c-4" decimals="-3" id="f-45" unitRef="usd">42933000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization contextRef="c-5" decimals="-3" id="f-46" unitRef="usd">40747000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization contextRef="c-4" decimals="-3" id="f-47" unitRef="usd">30667000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization contextRef="c-5" decimals="-3" id="f-48" unitRef="usd">32087000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:Goodwill contextRef="c-4" decimals="-3" id="f-49" unitRef="usd">27973000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="c-5" decimals="-3" id="f-50" unitRef="usd">28811000</us-gaap:Goodwill>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-4" decimals="-3" id="f-51" unitRef="usd">7710000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-5" decimals="-3" id="f-52" unitRef="usd">7301000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="c-4" decimals="-3" id="f-53" unitRef="usd">588000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="c-5" decimals="-3" id="f-54" unitRef="usd">1246000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="c-4" decimals="-3" id="f-55" unitRef="usd">30437000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="c-5" decimals="-3" id="f-56" unitRef="usd">28075000</us-gaap:OperatingLeaseRightOfUseAsset>
    <appn:DeferredCommissionNoncurrent contextRef="c-4" decimals="-3" id="f-57" unitRef="usd">67376000</appn:DeferredCommissionNoncurrent>
    <appn:DeferredCommissionNoncurrent contextRef="c-5" decimals="-3" id="f-58" unitRef="usd">65199000</appn:DeferredCommissionNoncurrent>
    <us-gaap:DeferredIncomeTaxAssetsNet contextRef="c-4" decimals="-3" id="f-59" unitRef="usd">4857000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet contextRef="c-5" decimals="-3" id="f-60" unitRef="usd">4850000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:OtherAssetsNoncurrent contextRef="c-4" decimals="-3" id="f-61" unitRef="usd">13809000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent contextRef="c-5" decimals="-3" id="f-62" unitRef="usd">11703000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:Assets contextRef="c-4" decimals="-3" id="f-63" unitRef="usd">585713000</us-gaap:Assets>
    <us-gaap:Assets contextRef="c-5" decimals="-3" id="f-64" unitRef="usd">691395000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent contextRef="c-4" decimals="-3" id="f-65" unitRef="usd">8077000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent contextRef="c-5" decimals="-3" id="f-66" unitRef="usd">6655000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="c-4" decimals="-3" id="f-67" unitRef="usd">21662000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="c-5" decimals="-3" id="f-68" unitRef="usd">18483000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedEmployeeBenefitsCurrent contextRef="c-4" decimals="-3" id="f-69" unitRef="usd">43035000</us-gaap:AccruedEmployeeBenefitsCurrent>
    <us-gaap:AccruedEmployeeBenefitsCurrent contextRef="c-5" decimals="-3" id="f-70" unitRef="usd">61781000</us-gaap:AccruedEmployeeBenefitsCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="c-4" decimals="-3" id="f-71" unitRef="usd">314263000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="c-5" decimals="-3" id="f-72" unitRef="usd">341281000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:LongTermDebtCurrent contextRef="c-4" decimals="-3" id="f-73" unitRef="usd">9598000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent contextRef="c-5" decimals="-3" id="f-74" unitRef="usd">9598000</us-gaap:LongTermDebtCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="c-4" decimals="-3" id="f-75" unitRef="usd">14171000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="c-5" decimals="-3" id="f-76" unitRef="usd">13181000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OtherLiabilitiesCurrent contextRef="c-4" decimals="-3" id="f-77" unitRef="usd">1012000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:OtherLiabilitiesCurrent contextRef="c-5" decimals="-3" id="f-78" unitRef="usd">1128000</us-gaap:OtherLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="c-4" decimals="-3" id="f-79" unitRef="usd">411818000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="c-5" decimals="-3" id="f-80" unitRef="usd">452107000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LongTermDebtNoncurrent contextRef="c-4" decimals="-3" id="f-81" unitRef="usd">226429000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent contextRef="c-5" decimals="-3" id="f-82" unitRef="usd">231228000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c-4" decimals="-3" id="f-83" unitRef="usd">45128000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c-5" decimals="-3" id="f-84" unitRef="usd">45693000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent contextRef="c-4" decimals="-3" id="f-85" unitRef="usd">7208000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent contextRef="c-5" decimals="-3" id="f-86" unitRef="usd">8962000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent contextRef="c-4" decimals="-3" id="f-87" unitRef="usd">311000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent contextRef="c-5" decimals="-3" id="f-88" unitRef="usd">398000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:Liabilities contextRef="c-4" decimals="-3" id="f-89" unitRef="usd">690894000</us-gaap:Liabilities>
    <us-gaap:Liabilities contextRef="c-5" decimals="-3" id="f-90" unitRef="usd">738388000</us-gaap:Liabilities>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c-6"
      decimals="INF"
      id="f-91"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c-7"
      decimals="INF"
      id="f-92"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized contextRef="c-6" decimals="INF" id="f-93" unitRef="shares">500000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized contextRef="c-7" decimals="INF" id="f-94" unitRef="shares">500000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued contextRef="c-6" decimals="INF" id="f-95" unitRef="shares">43504355</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued contextRef="c-7" decimals="INF" id="f-96" unitRef="shares">43408828</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockValue contextRef="c-6" decimals="-3" id="f-97" unitRef="usd">4000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue contextRef="c-7" decimals="-3" id="f-98" unitRef="usd">4000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c-8"
      decimals="INF"
      id="f-99"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c-9"
      decimals="INF"
      id="f-100"
      unitRef="usdPerShare">0.0001</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized contextRef="c-8" decimals="INF" id="f-101" unitRef="shares">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized contextRef="c-9" decimals="INF" id="f-102" unitRef="shares">100000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued contextRef="c-8" decimals="INF" id="f-103" unitRef="shares">31087385</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued contextRef="c-9" decimals="INF" id="f-104" unitRef="shares">31088085</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockValue contextRef="c-8" decimals="-3" id="f-105" unitRef="usd">3000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue contextRef="c-9" decimals="-3" id="f-106" unitRef="usd">3000</us-gaap:CommonStockValue>
    <us-gaap:TreasuryStockCommonShares contextRef="c-4" decimals="INF" id="f-107" unitRef="shares">2795084</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonShares contextRef="c-5" decimals="INF" id="f-108" unitRef="shares">542288</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonValue contextRef="c-4" decimals="-3" id="f-109" unitRef="usd">70391000</us-gaap:TreasuryStockCommonValue>
    <us-gaap:TreasuryStockCommonValue contextRef="c-5" decimals="-3" id="f-110" unitRef="usd">16935000</us-gaap:TreasuryStockCommonValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock contextRef="c-4" decimals="-3" id="f-111" unitRef="usd">623090000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock contextRef="c-5" decimals="-3" id="f-112" unitRef="usd">617318000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="c-4" decimals="-3" id="f-113" unitRef="usd">-33624000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="c-5" decimals="-3" id="f-114" unitRef="usd">-36462000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="c-4" decimals="-3" id="f-115" unitRef="usd">-624263000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="c-5" decimals="-3" id="f-116" unitRef="usd">-610921000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity contextRef="c-4" decimals="-3" id="f-117" unitRef="usd">-105181000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-5" decimals="-3" id="f-118" unitRef="usd">-46993000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="c-4" decimals="-3" id="f-119" unitRef="usd">585713000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="c-5" decimals="-3" id="f-120" unitRef="usd">691395000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-10" decimals="-3" id="f-121" unitRef="usd">157682000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-11" decimals="-3" id="f-122" unitRef="usd">132657000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-12" decimals="-3" id="f-123" unitRef="usd">317993000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-13" decimals="-3" id="f-124" unitRef="usd">267009000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-14" decimals="-3" id="f-125" unitRef="usd">45574000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-15" decimals="-3" id="f-126" unitRef="usd">37983000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-16" decimals="-3" id="f-127" unitRef="usd">87443000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-17" decimals="-3" id="f-128" unitRef="usd">70057000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-18" decimals="-3" id="f-129" unitRef="usd">203256000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-19" decimals="-3" id="f-130" unitRef="usd">170640000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-1" decimals="-3" id="f-131" unitRef="usd">405436000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-20" decimals="-3" id="f-132" unitRef="usd">337066000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="c-10" decimals="-3" id="f-133" unitRef="usd">25409000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="c-11" decimals="-3" id="f-134" unitRef="usd">20707000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="c-12" decimals="-3" id="f-135" unitRef="usd">48313000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="c-13" decimals="-3" id="f-136" unitRef="usd">39228000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="c-14" decimals="-3" id="f-137" unitRef="usd">33104000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="c-15" decimals="-3" id="f-138" unitRef="usd">28247000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="c-16" decimals="-3" id="f-139" unitRef="usd">64611000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="c-17" decimals="-3" id="f-140" unitRef="usd">53766000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="c-18" decimals="-3" id="f-141" unitRef="usd">58513000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="c-19" decimals="-3" id="f-142" unitRef="usd">48954000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="c-1" decimals="-3" id="f-143" unitRef="usd">112924000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold contextRef="c-20" decimals="-3" id="f-144" unitRef="usd">92994000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit contextRef="c-18" decimals="-3" id="f-145" unitRef="usd">144743000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c-19" decimals="-3" id="f-146" unitRef="usd">121686000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c-1" decimals="-3" id="f-147" unitRef="usd">292512000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit contextRef="c-20" decimals="-3" id="f-148" unitRef="usd">244072000</us-gaap:GrossProfit>
    <us-gaap:SellingAndMarketingExpense contextRef="c-18" decimals="-3" id="f-149" unitRef="usd">70113000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense contextRef="c-19" decimals="-3" id="f-150" unitRef="usd">62157000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense contextRef="c-1" decimals="-3" id="f-151" unitRef="usd">134732000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense contextRef="c-20" decimals="-3" id="f-152" unitRef="usd">118467000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:ResearchAndDevelopmentExpense contextRef="c-18" decimals="-3" id="f-153" unitRef="usd">47305000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense contextRef="c-19" decimals="-3" id="f-154" unitRef="usd">42655000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense contextRef="c-1" decimals="-3" id="f-155" unitRef="usd">93629000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense contextRef="c-20" decimals="-3" id="f-156" unitRef="usd">84485000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="c-18" decimals="-3" id="f-157" unitRef="usd">32765000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="c-19" decimals="-3" id="f-158" unitRef="usd">27858000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="c-1" decimals="-3" id="f-159" unitRef="usd">66435000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense contextRef="c-20" decimals="-3" id="f-160" unitRef="usd">52938000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:OperatingExpenses contextRef="c-18" decimals="-3" id="f-161" unitRef="usd">150183000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses contextRef="c-19" decimals="-3" id="f-162" unitRef="usd">132670000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses contextRef="c-1" decimals="-3" id="f-163" unitRef="usd">294796000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses contextRef="c-20" decimals="-3" id="f-164" unitRef="usd">255890000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss contextRef="c-18" decimals="-3" id="f-165" unitRef="usd">-5440000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-19" decimals="-3" id="f-166" unitRef="usd">-10984000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-1" decimals="-3" id="f-167" unitRef="usd">-2284000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss contextRef="c-20" decimals="-3" id="f-168" unitRef="usd">-11818000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c-18" decimals="-3" id="f-169" unitRef="usd">-827000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c-19" decimals="-3" id="f-170" unitRef="usd">17564000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c-1" decimals="-3" id="f-171" unitRef="usd">-743000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense contextRef="c-20" decimals="-3" id="f-172" unitRef="usd">23280000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:InterestExpenseNonoperating contextRef="c-18" decimals="-3" id="f-173" unitRef="usd">3780000</us-gaap:InterestExpenseNonoperating>
    <us-gaap:InterestExpenseNonoperating contextRef="c-19" decimals="-3" id="f-174" unitRef="usd">5319000</us-gaap:InterestExpenseNonoperating>
    <us-gaap:InterestExpenseNonoperating contextRef="c-1" decimals="-3" id="f-175" unitRef="usd">7952000</us-gaap:InterestExpenseNonoperating>
    <us-gaap:InterestExpenseNonoperating contextRef="c-20" decimals="-3" id="f-176" unitRef="usd">10637000</us-gaap:InterestExpenseNonoperating>
    <us-gaap:NonoperatingIncomeExpense contextRef="c-18" decimals="-3" id="f-177" unitRef="usd">-4607000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense contextRef="c-19" decimals="-3" id="f-178" unitRef="usd">12245000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense contextRef="c-1" decimals="-3" id="f-179" unitRef="usd">-8695000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense contextRef="c-20" decimals="-3" id="f-180" unitRef="usd">12643000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-18" decimals="-3" id="f-181" unitRef="usd">-10047000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-19" decimals="-3" id="f-182" unitRef="usd">1261000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-1" decimals="-3" id="f-183" unitRef="usd">-10979000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest contextRef="c-20" decimals="-3" id="f-184" unitRef="usd">825000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-18" decimals="-3" id="f-185" unitRef="usd">1770000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-19" decimals="-3" id="f-186" unitRef="usd">1573000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-1" decimals="-3" id="f-187" unitRef="usd">2363000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit contextRef="c-20" decimals="-3" id="f-188" unitRef="usd">2314000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss contextRef="c-18" decimals="-3" id="f-189" unitRef="usd">-11817000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-19" decimals="-3" id="f-190" unitRef="usd">-312000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-191" unitRef="usd">-13342000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-20" decimals="-3" id="f-192" unitRef="usd">-1489000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-18"
      decimals="2"
      id="f-193"
      unitRef="usdPerShare">-0.16</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-18"
      decimals="2"
      id="f-194"
      unitRef="usdPerShare">-0.16</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-19"
      decimals="2"
      id="f-195"
      unitRef="usdPerShare">0.00</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-19"
      decimals="2"
      id="f-196"
      unitRef="usdPerShare">0.00</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-1"
      decimals="2"
      id="f-197"
      unitRef="usdPerShare">-0.18</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-1"
      decimals="2"
      id="f-198"
      unitRef="usdPerShare">-0.18</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareBasic
      contextRef="c-20"
      decimals="2"
      id="f-199"
      unitRef="usdPerShare">-0.02</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c-20"
      decimals="2"
      id="f-200"
      unitRef="usdPerShare">-0.02</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-18" decimals="-3" id="f-201" unitRef="shares">72896000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-18" decimals="-3" id="f-202" unitRef="shares">72896000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-19" decimals="-3" id="f-203" unitRef="shares">74202000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-19" decimals="-3" id="f-204" unitRef="shares">74202000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-1" decimals="-3" id="f-205" unitRef="shares">73348000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-1" decimals="-3" id="f-206" unitRef="shares">73348000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="c-20" decimals="-3" id="f-207" unitRef="shares">74148000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="c-20" decimals="-3" id="f-208" unitRef="shares">74148000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss contextRef="c-18" decimals="-3" id="f-209" unitRef="usd">-11817000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-19" decimals="-3" id="f-210" unitRef="usd">-312000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-211" unitRef="usd">-13342000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-20" decimals="-3" id="f-212" unitRef="usd">-1489000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent contextRef="c-18" decimals="-3" id="f-213" unitRef="usd">2561000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent contextRef="c-19" decimals="-3" id="f-214" unitRef="usd">-19641000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent contextRef="c-1" decimals="-3" id="f-215" unitRef="usd">2968000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent contextRef="c-20" decimals="-3" id="f-216" unitRef="usd">-23357000</us-gaap:OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax contextRef="c-18" decimals="-3" id="f-217" unitRef="usd">-11000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax contextRef="c-19" decimals="-3" id="f-218" unitRef="usd">-41000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax contextRef="c-1" decimals="-3" id="f-219" unitRef="usd">-130000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax contextRef="c-20" decimals="-3" id="f-220" unitRef="usd">-58000</us-gaap:OtherComprehensiveIncomeLossAvailableForSaleSecuritiesAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="c-18" decimals="-3" id="f-221" unitRef="usd">-9267000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="c-19" decimals="-3" id="f-222" unitRef="usd">-19994000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="c-1" decimals="-3" id="f-223" unitRef="usd">-10504000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax contextRef="c-20" decimals="-3" id="f-224" unitRef="usd">-24904000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c-21"
      decimals="INF"
      id="f-225"
      unitRef="shares">73954625</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-21" decimals="-3" id="f-226" unitRef="usd">7000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-22" decimals="-3" id="f-227" unitRef="usd">617318000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-23" decimals="-3" id="f-228" unitRef="usd">-36462000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-24" decimals="-3" id="f-229" unitRef="usd">-610921000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-25" decimals="-3" id="f-230" unitRef="usd">-16935000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-5" decimals="-3" id="f-231" unitRef="usd">-46993000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c-26" decimals="-3" id="f-232" unitRef="usd">-1525000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-27" decimals="-3" id="f-233" unitRef="usd">-1525000</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="c-28"
      decimals="INF"
      id="f-234"
      unitRef="shares">5416</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="c-28"
      decimals="INF"
      id="f-235"
      unitRef="shares">336372</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c-29" decimals="-3" id="f-236" unitRef="usd">-8032000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c-30" decimals="-3" id="f-237" unitRef="usd">9591000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c-27" decimals="-3" id="f-238" unitRef="usd">1559000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c-28"
      decimals="INF"
      id="f-239"
      unitRef="shares">59665</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c-29" decimals="-3" id="f-240" unitRef="usd">630000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c-27" decimals="-3" id="f-241" unitRef="usd">630000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="c-28"
      decimals="INF"
      id="f-242"
      unitRef="shares">842896</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod contextRef="c-30" decimals="-3" id="f-243" unitRef="usd">21808000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod contextRef="c-27" decimals="-3" id="f-244" unitRef="usd">21808000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-29" decimals="-3" id="f-245" unitRef="usd">8882000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-27" decimals="-3" id="f-246" unitRef="usd">8882000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-31" decimals="-3" id="f-247" unitRef="usd">288000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-27" decimals="-3" id="f-248" unitRef="usd">288000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c-32"
      decimals="INF"
      id="f-249"
      unitRef="shares">73513182</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-32" decimals="-3" id="f-250" unitRef="usd">7000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-33" decimals="-3" id="f-251" unitRef="usd">618798000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-34" decimals="-3" id="f-252" unitRef="usd">-36174000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-35" decimals="-3" id="f-253" unitRef="usd">-612446000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-36" decimals="-3" id="f-254" unitRef="usd">-29152000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-37" decimals="-3" id="f-255" unitRef="usd">-58967000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c-38" decimals="-3" id="f-256" unitRef="usd">-11817000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-18" decimals="-3" id="f-257" unitRef="usd">-11817000</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="c-39"
      decimals="INF"
      id="f-258"
      unitRef="shares">7776</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="c-39"
      decimals="INF"
      id="f-259"
      unitRef="shares">101616</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c-40" decimals="-3" id="f-260" unitRef="usd">-3992000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c-41" decimals="-3" id="f-261" unitRef="usd">2689000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c-18" decimals="-3" id="f-262" unitRef="usd">-1303000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c-39"
      decimals="INF"
      id="f-263"
      unitRef="shares">21970</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c-40" decimals="-3" id="f-264" unitRef="usd">246000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c-18" decimals="-3" id="f-265" unitRef="usd">246000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="c-39"
      decimals="INF"
      id="f-266"
      unitRef="shares">1847888</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod contextRef="c-40" decimals="-3" id="f-267" unitRef="usd">0</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod contextRef="c-41" decimals="-3" id="f-268" unitRef="usd">43928000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod contextRef="c-18" decimals="-3" id="f-269" unitRef="usd">43928000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-40" decimals="-3" id="f-270" unitRef="usd">8038000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-18" decimals="-3" id="f-271" unitRef="usd">8038000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-42" decimals="-3" id="f-272" unitRef="usd">2550000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-18" decimals="-3" id="f-273" unitRef="usd">2550000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c-43"
      decimals="INF"
      id="f-274"
      unitRef="shares">71796656</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-43" decimals="-3" id="f-275" unitRef="usd">7000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-44" decimals="-3" id="f-276" unitRef="usd">623090000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-45" decimals="-3" id="f-277" unitRef="usd">-33624000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-46" decimals="-3" id="f-278" unitRef="usd">-624263000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-47" decimals="-3" id="f-279" unitRef="usd">-70391000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-4" decimals="-3" id="f-280" unitRef="usd">-105181000</us-gaap:StockholdersEquity>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c-48"
      decimals="INF"
      id="f-281"
      unitRef="shares">74028786</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-48" decimals="-3" id="f-282" unitRef="usd">7000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-49" decimals="-3" id="f-283" unitRef="usd">591281000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-50" decimals="-3" id="f-284" unitRef="usd">-11774000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-51" decimals="-3" id="f-285" unitRef="usd">-612154000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-52" decimals="-3" id="f-286" unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-53" decimals="-3" id="f-287" unitRef="usd">-32640000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c-54" decimals="-3" id="f-288" unitRef="usd">-1177000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-55" decimals="-3" id="f-289" unitRef="usd">-1177000</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="c-56"
      decimals="INF"
      id="f-290"
      unitRef="shares">4735</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="c-56"
      decimals="INF"
      id="f-291"
      unitRef="shares">167726</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c-57" decimals="-3" id="f-292" unitRef="usd">-3199000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c-55" decimals="-3" id="f-293" unitRef="usd">-3199000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c-56"
      decimals="INF"
      id="f-294"
      unitRef="shares">18953</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c-57" decimals="-3" id="f-295" unitRef="usd">190000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c-55" decimals="-3" id="f-296" unitRef="usd">190000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-57" decimals="-3" id="f-297" unitRef="usd">8814000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-55" decimals="-3" id="f-298" unitRef="usd">8814000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-58" decimals="-3" id="f-299" unitRef="usd">-3733000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-55" decimals="-3" id="f-300" unitRef="usd">-3733000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c-59"
      decimals="INF"
      id="f-301"
      unitRef="shares">74220200</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-59" decimals="-3" id="f-302" unitRef="usd">7000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-60" decimals="-3" id="f-303" unitRef="usd">597086000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-61" decimals="-3" id="f-304" unitRef="usd">-15507000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-62" decimals="-3" id="f-305" unitRef="usd">-613331000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-63" decimals="-3" id="f-306" unitRef="usd">0</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-64" decimals="-3" id="f-307" unitRef="usd">-31745000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c-65" decimals="-3" id="f-308" unitRef="usd">-312000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-19" decimals="-3" id="f-309" unitRef="usd">-312000</us-gaap:NetIncomeLoss>
    <us-gaap:StockIssuedDuringPeriodSharesIssuedForServices
      contextRef="c-66"
      decimals="INF"
      id="f-310"
      unitRef="shares">5686</us-gaap:StockIssuedDuringPeriodSharesIssuedForServices>
    <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures
      contextRef="c-66"
      decimals="INF"
      id="f-311"
      unitRef="shares">77082</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c-67" decimals="-3" id="f-312" unitRef="usd">-1269000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures contextRef="c-19" decimals="-3" id="f-313" unitRef="usd">-1269000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c-66"
      decimals="INF"
      id="f-314"
      unitRef="shares">30880</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c-67" decimals="-3" id="f-315" unitRef="usd">314000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="c-19" decimals="-3" id="f-316" unitRef="usd">314000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
    <us-gaap:TreasuryStockSharesAcquired
      contextRef="c-66"
      decimals="INF"
      id="f-317"
      unitRef="shares">313160</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockValueAcquiredCostMethod contextRef="c-68" decimals="-3" id="f-318" unitRef="usd">10000000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:TreasuryStockValueAcquiredCostMethod contextRef="c-19" decimals="-3" id="f-319" unitRef="usd">10000000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-67" decimals="-3" id="f-320" unitRef="usd">8953000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="c-19" decimals="-3" id="f-321" unitRef="usd">8953000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-69" decimals="-3" id="f-322" unitRef="usd">-19682000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="c-19" decimals="-3" id="f-323" unitRef="usd">-19682000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c-70"
      decimals="INF"
      id="f-324"
      unitRef="shares">74020688</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:StockholdersEquity contextRef="c-70" decimals="-3" id="f-325" unitRef="usd">7000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-71" decimals="-3" id="f-326" unitRef="usd">605084000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-72" decimals="-3" id="f-327" unitRef="usd">-35189000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-73" decimals="-3" id="f-328" unitRef="usd">-613643000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-74" decimals="-3" id="f-329" unitRef="usd">-10000000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="c-75" decimals="-3" id="f-330" unitRef="usd">-53741000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss contextRef="c-1" decimals="-3" id="f-331" unitRef="usd">-13342000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss contextRef="c-20" decimals="-3" id="f-332" unitRef="usd">-1489000</us-gaap:NetIncomeLoss>
    <us-gaap:ShareBasedCompensation contextRef="c-1" decimals="-3" id="f-333" unitRef="usd">22449000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation contextRef="c-20" decimals="-3" id="f-334" unitRef="usd">20732000</us-gaap:ShareBasedCompensation>
    <us-gaap:DepreciationAndAmortization contextRef="c-1" decimals="-3" id="f-335" unitRef="usd">4780000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization contextRef="c-20" decimals="-3" id="f-336" unitRef="usd">4970000</us-gaap:DepreciationAndAmortization>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="c-1" decimals="-3" id="f-337" unitRef="usd">634000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts contextRef="c-20" decimals="-3" id="f-338" unitRef="usd">550000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:AmortizationOfFinancingCosts contextRef="c-1" decimals="-3" id="f-339" unitRef="usd">300000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:AmortizationOfFinancingCosts contextRef="c-20" decimals="-3" id="f-340" unitRef="usd">300000</us-gaap:AmortizationOfFinancingCosts>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits contextRef="c-1" decimals="-3" id="f-341" unitRef="usd">-68000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:DeferredIncomeTaxesAndTaxCredits contextRef="c-20" decimals="-3" id="f-342" unitRef="usd">-689000</us-gaap:DeferredIncomeTaxesAndTaxCredits>
    <us-gaap:ForeignCurrencyTransactionGainLossUnrealized contextRef="c-1" decimals="-3" id="f-343" unitRef="usd">-3372000</us-gaap:ForeignCurrencyTransactionGainLossUnrealized>
    <us-gaap:ForeignCurrencyTransactionGainLossUnrealized contextRef="c-20" decimals="-3" id="f-344" unitRef="usd">20659000</us-gaap:ForeignCurrencyTransactionGainLossUnrealized>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="c-1" decimals="-3" id="f-345" unitRef="usd">-82946000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="c-20" decimals="-3" id="f-346" unitRef="usd">-49720000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="c-1" decimals="-3" id="f-347" unitRef="usd">-6991000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="c-20" decimals="-3" id="f-348" unitRef="usd">-10174000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <appn:IncreaseDecreaseInDeferredCommissions contextRef="c-1" decimals="-3" id="f-349" unitRef="usd">-5037000</appn:IncreaseDecreaseInDeferredCommissions>
    <appn:IncreaseDecreaseInDeferredCommissions contextRef="c-20" decimals="-3" id="f-350" unitRef="usd">3228000</appn:IncreaseDecreaseInDeferredCommissions>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities contextRef="c-1" decimals="-3" id="f-351" unitRef="usd">4298000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities contextRef="c-20" decimals="-3" id="f-352" unitRef="usd">7559000</us-gaap:IncreaseDecreaseInAccountsPayableAndAccruedLiabilities>
    <appn:IncreaseDecreaseInAccruedCompensationAndRelatedBenefits contextRef="c-1" decimals="-3" id="f-353" unitRef="usd">17348000</appn:IncreaseDecreaseInAccruedCompensationAndRelatedBenefits>
    <appn:IncreaseDecreaseInAccruedCompensationAndRelatedBenefits contextRef="c-20" decimals="-3" id="f-354" unitRef="usd">3811000</appn:IncreaseDecreaseInAccruedCompensationAndRelatedBenefits>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities contextRef="c-1" decimals="-3" id="f-355" unitRef="usd">-538000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInOtherOperatingLiabilities contextRef="c-20" decimals="-3" id="f-356" unitRef="usd">-277000</us-gaap:IncreaseDecreaseInOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability contextRef="c-1" decimals="-3" id="f-357" unitRef="usd">-26590000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <us-gaap:IncreaseDecreaseInContractWithCustomerLiability contextRef="c-20" decimals="-3" id="f-358" unitRef="usd">-25611000</us-gaap:IncreaseDecreaseInContractWithCustomerLiability>
    <appn:IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities contextRef="c-1" decimals="-3" id="f-359" unitRef="usd">-1938000</appn:IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities>
    <appn:IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities contextRef="c-20" decimals="-3" id="f-360" unitRef="usd">-1671000</appn:IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="c-1" decimals="-3" id="f-361" unitRef="usd">60909000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="c-20" decimals="-3" id="f-362" unitRef="usd">43026000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments contextRef="c-1" decimals="-3" id="f-363" unitRef="usd">49079000</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
    <us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments contextRef="c-20" decimals="-3" id="f-364" unitRef="usd">27985000</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
    <us-gaap:PaymentsToAcquireInvestments contextRef="c-1" decimals="-3" id="f-365" unitRef="usd">44866000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:PaymentsToAcquireInvestments contextRef="c-20" decimals="-3" id="f-366" unitRef="usd">59281000</us-gaap:PaymentsToAcquireInvestments>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-1" decimals="-3" id="f-367" unitRef="usd">2491000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="c-20" decimals="-3" id="f-368" unitRef="usd">1797000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="c-1" decimals="-3" id="f-369" unitRef="usd">1722000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="c-20" decimals="-3" id="f-370" unitRef="usd">-33093000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:RepaymentsOfDebt contextRef="c-1" decimals="-3" id="f-371" unitRef="usd">5000000</us-gaap:RepaymentsOfDebt>
    <us-gaap:RepaymentsOfDebt contextRef="c-20" decimals="-3" id="f-372" unitRef="usd">5000000</us-gaap:RepaymentsOfDebt>
    <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="c-1" decimals="-3" id="f-373" unitRef="usd">65736000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="c-20" decimals="-3" id="f-374" unitRef="usd">10000000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="c-1" decimals="-3" id="f-375" unitRef="usd">6395000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation contextRef="c-20" decimals="-3" id="f-376" unitRef="usd">4469000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:ProceedsFromStockOptionsExercised contextRef="c-1" decimals="-3" id="f-377" unitRef="usd">876000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:ProceedsFromStockOptionsExercised contextRef="c-20" decimals="-3" id="f-378" unitRef="usd">504000</us-gaap:ProceedsFromStockOptionsExercised>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="c-1" decimals="-3" id="f-379" unitRef="usd">-76255000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="c-20" decimals="-3" id="f-380" unitRef="usd">-18965000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-1" decimals="-3" id="f-381" unitRef="usd">-1075000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-20" decimals="-3" id="f-382" unitRef="usd">2687000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="c-1" decimals="-3" id="f-383" unitRef="usd">-14699000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect contextRef="c-20" decimals="-3" id="f-384" unitRef="usd">-6345000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-5" decimals="-3" id="f-385" unitRef="usd">135810000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-53" decimals="-3" id="f-386" unitRef="usd">118552000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-4" decimals="-3" id="f-387" unitRef="usd">121111000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="c-75" decimals="-3" id="f-388" unitRef="usd">112207000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:InterestPaidNet contextRef="c-1" decimals="-3" id="f-389" unitRef="usd">7338000</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet contextRef="c-20" decimals="-3" id="f-390" unitRef="usd">10023000</us-gaap:InterestPaidNet>
    <us-gaap:IncomeTaxesPaid contextRef="c-1" decimals="-3" id="f-391" unitRef="usd">2542000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid contextRef="c-20" decimals="-3" id="f-392" unitRef="usd">1997000</us-gaap:IncomeTaxesPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid contextRef="c-1" decimals="-3" id="f-393" unitRef="usd">408000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid contextRef="c-20" decimals="-3" id="f-394" unitRef="usd">54000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability contextRef="c-1" decimals="-3" id="f-395" unitRef="usd">5370000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability contextRef="c-20" decimals="-3" id="f-396" unitRef="usd">0</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock contextRef="c-1" id="f-397">&lt;div style="-sec-extract:summary"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;1. Organization and Description of Business&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Appian Corporation (together with its subsidiaries, &#x201c;Appian,&#x201d; the &#x201c;Company,&#x201d; &#x201c;we,&#x201d; or &#x201c;our&#x201d;) provides process automation technology. For over 25 years, our highly reliable and scalable platform has been leveraged by large enterprises and governments. Combining leading edge process orchestration and intelligence, we provide everything an organization needs to design, automate, and optimize critical processes, facilitating continuous adaptation in changing environments.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We are headquartered in McLean, Virginia and operate in the United States and internationally, including Australia, Canada, France, Germany, India, Italy, Japan, Mexico, the Netherlands, Portugal, Singapore, Spain, Sweden, Switzerland, and the United Kingdom.&lt;/span&gt;&lt;/div&gt;</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock contextRef="c-1" id="f-398">&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;2. Accounting Policies&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Basis of Presentation&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accompanying unaudited consolidated financial statements and footnotes include the accounts of Appian and its wholly-owned subsidiaries and have been prepared in accordance with accounting principles generally accepted in the United States (&#x201c;U.S. GAAP&#x201d;) as contained in the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) Accounting Standards Codification (&#x201c;ASC&#x201d;) for interim financial reporting. In the opinion of management, the interim financial information includes all adjustments of a normal recurring nature necessary for a fair presentation of the results of operations, financial position, changes in stockholders&#x2019; deficit, and cash flows. All intercompany accounts and transactions have been eliminated in consolidation.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The results of operations for the current period are not necessarily indicative of the results for the full year or the results for any future periods. These unaudited consolidated financial statements should be read in conjunction with the consolidated financial statements and related footnotes included in our Annual Report on Form 10-K for the year ended December&#160;31, 2025, filed with the Securities and Exchange Commission (the &#x201c;SEC&#x201d;) on February&#160;19, 2026.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Reclassifications&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the fourth quarter of 2025, the Company reclassified certain information technology, cybersecurity, and facility operating expenses from general and administrative expenses to cost of revenue, research and development, and sales and marketing expense. Amounts for the three and six months ended June 30, 2025 have been reclassified to conform to the current period presentation. The revised presentation did not result in any changes to previously reported revenues, operating loss, (loss) income before income taxes, net loss, or net loss per share.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preparation of our consolidated financial statements in conformity with U.S. GAAP requires us to make estimates and judgments that affect the amounts reported in these consolidated financial statements and accompanying notes. Although we believe the estimates we use are reasonable, due to the inherent uncertainty involved in making these estimates, actual results reported in future periods could differ from those estimates.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Significant estimates embedded in the consolidated financial statements include, but are not limited to, revenue recognition, income taxes and the related valuation allowance established against deferred tax assets, the amortization period of deferred commissions, the amortization period of the cost to obtain the judgment preservation insurance policy, and stock-based compensation.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Concentration of Credit and Customer Risk&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our financial instruments exposed to concentration of credit and customer risk consist primarily of cash, cash equivalents, accounts receivable, and short-term investments and marketable securities. Deposits held with banks may exceed the amount of insurance provided on such deposits; however, we believe the financial institutions holding our cash deposits are financially sound and, accordingly, minimal credit risk exists with respect to these balances. With regard to our customers, credit evaluation and account monitoring procedures are used to minimize the risk of loss. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue generated from U.S. federal government agencies was 26.1% and 26.0% of total revenue for the three and six months ended June&#160;30, 2026, respectively. Additionally, 38.2% and 37.9% of our revenue during the three and six months ended June&#160;30, 2026, respectively, was generated from international customers. For the three and six months ended June&#160;30, 2025, revenue generated from U.S. federal government agencies was 25.9% and 24.9% of total revenue, respectively. Additionally, 38.4% and 37.3% of our revenue during the three and six months ended June&#160;30, 2025, respectively, was generated from international customers.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;No single&#160;end-customer&#160;accounted for more than 10% of our total revenue in the three and six months ended June&#160;30, 2026 or 2025. As of June&#160;30, 2026 and December&#160;31, 2025, we had one reseller whose accounts receivable balance comprised 14.7% and 13.4% of total accounts receivable, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Cash and Cash Equivalents&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We consider all highly liquid investments with original maturities of three months or less, as well as overnight repurchase agreements, to be cash equivalents. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Allowance for Expected Credit Losses&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accounts receivable and unbilled revenue are stated at realizable value, net of an allowance for expected credit losses. The allowance is based on our assessment of the collectability of accounts and incorporates an estimation of expected lifetime credit losses on our receivables. We regularly review the composition of our accounts receivable aging, historical bad debts, changes in payment patterns, customer creditworthiness, post-balance sheet date collection activity, and current economic trends that affect collectability. If the financial condition of our customers were to deteriorate, resulting in their inability to make required payments, additional provisions for expected credit losses would be required and would increase bad debt expense. The allowance for doubtful accounts totaled $3.4 million as of each of June&#160;30, 2026 and December&#160;31, 2025.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Deferred Commissions &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We capitalize costs of obtaining a contract with a customer, which consist of sales commissions paid to our sales team and the associated incremental payroll taxes. These costs are recorded as deferred commissions in the consolidated balance sheets. Costs to obtain a subscription contract for a new customer or upsell an existing customer&#x2019;s subscription are amortized over an estimated economic life of five years as sales commissions on initial sales are not commensurate with sales commissions on contract renewals. Commissions paid relating to contract renewals are deferred and amortized over the related renewal period. We determine the estimated economic life based on both qualitative and quantitative factors such as expected renewals, product life cycles, contractual terms, and customer attrition. We periodically review the carrying amount of deferred contract acquisition costs to determine whether events or changes in circumstances have occurred that could impact the estimated economic life. Costs to obtain a contract for professional services arrangements are expensed as incurred as the contractual periods of our professional services arrangements are generally one year or less.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Amortization associated with deferred commissions is recorded to sales and marketing expense in our consolidated statements of operations. Total commission expense was $12.7 million and $24.0 million for the three and six months ended June&#160;30, 2026, respectively. Total commission expense was $12.8 million and $25.0 million for the three and six months ended June&#160;30, 2025, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Property and Equipment&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment are stated at cost less accumulated depreciation. Depreciation is computed using the straight-line method over the estimated useful lives of the assets. Significant additions or improvements extending the useful life of an asset are capitalized, while repairs and maintenance costs which do not significantly improve the related assets or extend their useful lives are charged to expense as incurred. The estimated useful lives of our property and equipment are generally 3 years for computer software, computer hardware, and internally developed software, 5 years for equipment, and 10 years for office furniture and fixtures. Leasehold improvements have an estimated useful life of the shorter of the useful life of the assets or the lease term.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Treasury Stock&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We account for treasury stock under the cost method. We reissue treasury stock to satisfy the vesting of restricted stock units. Because we are in an accumulated deficit position, all reissuances of treasury stock were recorded as a decrease to additional-paid-in-capital in our consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recent Accounting Pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the first quarter of 2026, we adopted ASU 2025-05, Financial Instruments-Credit Losses (Topic 326): Measurement of Credit Losses for Accounts Receivable and Contract Assets, which provides a practical expedient allowing companies to assume the conditions at the balance sheet date remain unchanged over the life of the asset when estimating expected credit losses for current classified accounts receivable and contract assets. Adopting this provision did not impact the calculation of our expected credit loss for our current accounts receivable, our results of operations, cash flows, and financial condition.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Not Yet Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In November 2024, the FASB issued ASU 2024-03, Income Statement - Reporting Comprehensive Income - Expense Disaggregation Disclosures (Subtopic 220-40): Disaggregation of Income Statement Expenses, which requires more detailed disclosures of certain categories of expenses such as employee compensation, depreciation, and intangible asset amortization that are components of existing expense captions presented on the face of the income statement. The new guidance will be effective beginning with our annual reporting for fiscal year 2027 and for interim period reporting beginning in fiscal year 2028. The guidance may be applied either on a retrospective or prospective basis, and early adoption is permitted. We are currently evaluating the impact this standard will have on our financial statement presentation and disclosures. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In September 2025, the FASB issued ASU 2025-06, Targeted Improvements to the Accounting for Internal-Use Software (Subtopic 350-40), which, among other changes, replaces the stage-based capitalization model with a principles-based model clarifying capitalization is to begin when (i) management has authorized and committed to funding a software project and (ii) it is probable the project will be completed and the software will be used to perform the function intended. The new guidance will be effective for our annual and interim period reporting beginning in fiscal year 2028 and can be applied prospectively, retrospectively, or via a modified transition approach. Early adoption is permitted. We are currently evaluating the impact this standard will have on our financial statement presentation and disclosures. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2025, the FASB issued ASU 2025-11, Interim Reporting (Topic 270) Narrow-Scope Improvements, which is intended to improve the navigability of the guidance in ASC 270 - Interim Reporting and clarify when it applies. Under the amendments, an entity is subject to ASC 270 if it provides interim financial statements and notes in accordance with U.S. GAAP. ASU 2025-11 also addresses the form and content of such financial statements, in addition to interim disclosure requirements. The guidance also establishes a principle under which companies must disclose events since the end of the last annual reporting period that have a material impact on the entity. The new guidance will be effective for our interim periods beginning in the first quarter of 2028. Early adoption is permitted. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We are currently evaluating the impact this standard will have on our financial statement presentation and disclosures.&lt;/span&gt;&lt;/div&gt;</us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock contextRef="c-1" id="f-399">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Basis of Presentation&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The accompanying unaudited consolidated financial statements and footnotes include the accounts of Appian and its wholly-owned subsidiaries and have been prepared in accordance with accounting principles generally accepted in the United States (&#x201c;U.S. GAAP&#x201d;) as contained in the Financial Accounting Standards Board (&#x201c;FASB&#x201d;) Accounting Standards Codification (&#x201c;ASC&#x201d;) for interim financial reporting. In the opinion of management, the interim financial information includes all adjustments of a normal recurring nature necessary for a fair presentation of the results of operations, financial position, changes in stockholders&#x2019; deficit, and cash flows. All intercompany accounts and transactions have been eliminated in consolidation.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The results of operations for the current period are not necessarily indicative of the results for the full year or the results for any future periods. These unaudited consolidated financial statements should be read in conjunction with the consolidated financial statements and related footnotes included in our Annual Report on Form 10-K for the year ended December&#160;31, 2025, filed with the Securities and Exchange Commission (the &#x201c;SEC&#x201d;) on February&#160;19, 2026.&lt;/span&gt;&lt;/div&gt;</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:PriorPeriodReclassificationAdjustmentDescription contextRef="c-1" id="f-400">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Reclassifications&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;During the fourth quarter of 2025, the Company reclassified certain information technology, cybersecurity, and facility operating expenses from general and administrative expenses to cost of revenue, research and development, and sales and marketing expense. Amounts for the three and six months ended June 30, 2025 have been reclassified to conform to the current period presentation. The revised presentation did not result in any changes to previously reported revenues, operating loss, (loss) income before income taxes, net loss, or net loss per share.&lt;/span&gt;&lt;/div&gt;</us-gaap:PriorPeriodReclassificationAdjustmentDescription>
    <us-gaap:UseOfEstimates contextRef="c-1" id="f-401">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Use of Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The preparation of our consolidated financial statements in conformity with U.S. GAAP requires us to make estimates and judgments that affect the amounts reported in these consolidated financial statements and accompanying notes. Although we believe the estimates we use are reasonable, due to the inherent uncertainty involved in making these estimates, actual results reported in future periods could differ from those estimates.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Significant estimates embedded in the consolidated financial statements include, but are not limited to, revenue recognition, income taxes and the related valuation allowance established against deferred tax assets, the amortization period of deferred commissions, the amortization period of the cost to obtain the judgment preservation insurance policy, and stock-based compensation.&lt;/span&gt;&lt;/div&gt;</us-gaap:UseOfEstimates>
    <us-gaap:ConcentrationRiskCreditRisk contextRef="c-1" id="f-402">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Concentration of Credit and Customer Risk&lt;/span&gt;&lt;/div&gt;Our financial instruments exposed to concentration of credit and customer risk consist primarily of cash, cash equivalents, accounts receivable, and short-term investments and marketable securities. Deposits held with banks may exceed the amount of insurance provided on such deposits; however, we believe the financial institutions holding our cash deposits are financially sound and, accordingly, minimal credit risk exists with respect to these balances. With regard to our customers, credit evaluation and account monitoring procedures are used to minimize the risk of loss.</us-gaap:ConcentrationRiskCreditRisk>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c-76" decimals="3" id="f-403" unitRef="number">0.261</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c-77" decimals="3" id="f-404" unitRef="number">0.260</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c-78" decimals="3" id="f-405" unitRef="number">0.382</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c-79" decimals="3" id="f-406" unitRef="number">0.379</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c-80" decimals="3" id="f-407" unitRef="number">0.259</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c-81" decimals="3" id="f-408" unitRef="number">0.249</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c-82" decimals="3" id="f-409" unitRef="number">0.384</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c-83" decimals="3" id="f-410" unitRef="number">0.373</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c-84" decimals="3" id="f-411" unitRef="number">0.147</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:ConcentrationRiskPercentage1 contextRef="c-85" decimals="3" id="f-412" unitRef="number">0.134</us-gaap:ConcentrationRiskPercentage1>
    <us-gaap:CashAndCashEquivalentsPolicyTextBlock contextRef="c-1" id="f-413">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Cash and Cash Equivalents&lt;/span&gt;&lt;/div&gt;We consider all highly liquid investments with original maturities of three months or less, as well as overnight repurchase agreements, to be cash equivalents.</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
    <us-gaap:ReceivablesPolicyTextBlock contextRef="c-1" id="f-414">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Allowance for Expected Credit Losses&lt;/span&gt;&lt;/div&gt;Accounts receivable and unbilled revenue are stated at realizable value, net of an allowance for expected credit losses. The allowance is based on our assessment of the collectability of accounts and incorporates an estimation of expected lifetime credit losses on our receivables. We regularly review the composition of our accounts receivable aging, historical bad debts, changes in payment patterns, customer creditworthiness, post-balance sheet date collection activity, and current economic trends that affect collectability. If the financial condition of our customers were to deteriorate, resulting in their inability to make required payments, additional provisions for expected credit losses would be required and would increase bad debt expense.</us-gaap:ReceivablesPolicyTextBlock>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c-5" decimals="-5" id="f-415" unitRef="usd">3400000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="c-4" decimals="-5" id="f-416" unitRef="usd">3400000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:CommissionsExpensePolicyPolicyTextBlock contextRef="c-1" id="f-417">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Deferred Commissions &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We capitalize costs of obtaining a contract with a customer, which consist of sales commissions paid to our sales team and the associated incremental payroll taxes. These costs are recorded as deferred commissions in the consolidated balance sheets. Costs to obtain a subscription contract for a new customer or upsell an existing customer&#x2019;s subscription are amortized over an estimated economic life of five years as sales commissions on initial sales are not commensurate with sales commissions on contract renewals. Commissions paid relating to contract renewals are deferred and amortized over the related renewal period. We determine the estimated economic life based on both qualitative and quantitative factors such as expected renewals, product life cycles, contractual terms, and customer attrition. We periodically review the carrying amount of deferred contract acquisition costs to determine whether events or changes in circumstances have occurred that could impact the estimated economic life. Costs to obtain a contract for professional services arrangements are expensed as incurred as the contractual periods of our professional services arrangements are generally one year or less.&lt;/span&gt;&lt;/div&gt;Amortization associated with deferred commissions is recorded to sales and marketing expense in our consolidated statements of operations.</us-gaap:CommissionsExpensePolicyPolicyTextBlock>
    <us-gaap:CapitalizedContractCostAmortizationPeriod contextRef="c-4" id="f-418">P5Y</us-gaap:CapitalizedContractCostAmortizationPeriod>
    <us-gaap:NoninterestExpenseCommissionExpense contextRef="c-18" decimals="-5" id="f-419" unitRef="usd">12700000</us-gaap:NoninterestExpenseCommissionExpense>
    <us-gaap:NoninterestExpenseCommissionExpense contextRef="c-1" decimals="-5" id="f-420" unitRef="usd">24000000.0</us-gaap:NoninterestExpenseCommissionExpense>
    <us-gaap:NoninterestExpenseCommissionExpense contextRef="c-19" decimals="-5" id="f-421" unitRef="usd">12800000</us-gaap:NoninterestExpenseCommissionExpense>
    <us-gaap:NoninterestExpenseCommissionExpense contextRef="c-20" decimals="-5" id="f-422" unitRef="usd">25000000.0</us-gaap:NoninterestExpenseCommissionExpense>
    <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock contextRef="c-1" id="f-423">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Property and Equipment&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment are stated at cost less accumulated depreciation. Depreciation is computed using the straight-line method over the estimated useful lives of the assets. Significant additions or improvements extending the useful life of an asset are capitalized, while repairs and maintenance costs which do not significantly improve the related assets or extend their useful lives are charged to expense as incurred. The estimated useful lives of our property and equipment are generally 3 years for computer software, computer hardware, and internally developed software, 5 years for equipment, and 10 years for office furniture and fixtures. Leasehold improvements have an estimated useful life of the shorter of the useful life of the assets or the lease term.&lt;/span&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c-86" id="f-424">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c-87" id="f-425">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c-88" id="f-426">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:PropertyPlantAndEquipmentUsefulLife contextRef="c-89" id="f-427">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
    <us-gaap:StockholdersEquityPolicyTextBlock contextRef="c-1" id="f-428">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Treasury Stock&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We account for treasury stock under the cost method. We reissue treasury stock to satisfy the vesting of restricted stock units. Because we are in an accumulated deficit position, all reissuances of treasury stock were recorded as a decrease to additional-paid-in-capital in our consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;</us-gaap:StockholdersEquityPolicyTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="c-1" id="f-429">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Recent Accounting Pronouncements&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In the first quarter of 2026, we adopted ASU 2025-05, Financial Instruments-Credit Losses (Topic 326): Measurement of Credit Losses for Accounts Receivable and Contract Assets, which provides a practical expedient allowing companies to assume the conditions at the balance sheet date remain unchanged over the life of the asset when estimating expected credit losses for current classified accounts receivable and contract assets. Adopting this provision did not impact the calculation of our expected credit loss for our current accounts receivable, our results of operations, cash flows, and financial condition.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Not Yet Adopted&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In November 2024, the FASB issued ASU 2024-03, Income Statement - Reporting Comprehensive Income - Expense Disaggregation Disclosures (Subtopic 220-40): Disaggregation of Income Statement Expenses, which requires more detailed disclosures of certain categories of expenses such as employee compensation, depreciation, and intangible asset amortization that are components of existing expense captions presented on the face of the income statement. The new guidance will be effective beginning with our annual reporting for fiscal year 2027 and for interim period reporting beginning in fiscal year 2028. The guidance may be applied either on a retrospective or prospective basis, and early adoption is permitted. We are currently evaluating the impact this standard will have on our financial statement presentation and disclosures. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In September 2025, the FASB issued ASU 2025-06, Targeted Improvements to the Accounting for Internal-Use Software (Subtopic 350-40), which, among other changes, replaces the stage-based capitalization model with a principles-based model clarifying capitalization is to begin when (i) management has authorized and committed to funding a software project and (ii) it is probable the project will be completed and the software will be used to perform the function intended. The new guidance will be effective for our annual and interim period reporting beginning in fiscal year 2028 and can be applied prospectively, retrospectively, or via a modified transition approach. Early adoption is permitted. We are currently evaluating the impact this standard will have on our financial statement presentation and disclosures. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In December 2025, the FASB issued ASU 2025-11, Interim Reporting (Topic 270) Narrow-Scope Improvements, which is intended to improve the navigability of the guidance in ASC 270 - Interim Reporting and clarify when it applies. Under the amendments, an entity is subject to ASC 270 if it provides interim financial statements and notes in accordance with U.S. GAAP. ASU 2025-11 also addresses the form and content of such financial statements, in addition to interim disclosure requirements. The guidance also establishes a principle under which companies must disclose events since the end of the last annual reporting period that have a material impact on the entity. The new guidance will be effective for our interim periods beginning in the first quarter of 2028. Early adoption is permitted. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We are currently evaluating the impact this standard will have on our financial statement presentation and disclosures.&lt;/span&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerTextBlock contextRef="c-1" id="f-430">&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;3. Revenue&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Revenue Recognition &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We generate subscriptions revenue primarily through the sale of cloud subscriptions bundled with maintenance and support and hosting services. Other subscriptions include self-managed license subscriptions and any associated maintenance and support. We generate professional services revenue from fees for our consulting services, including application development and deployment assistance as well as training related to our platform.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes revenue recorded during the three and six months ended June&#160;30, 2026 and 2025 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:44.514%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.788%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.788%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.332%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cloud subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;131,667&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;106,915&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;256,178&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;206,741&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Other subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;26,015&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25,742&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;61,815&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;60,268&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 7pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;157,682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;132,657&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;317,993&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;267,009&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Professional services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;45,574&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;37,983&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;87,443&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;70,057&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 13pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;203,256&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;170,640&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;405,436&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;337,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Performance Obligations and Timing of Revenue Recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We primarily sell products and services that fall into the categories discussed below. Each category contains one or more performance obligations that are either (1) capable of being distinct (i.e., the customer can benefit from the product or service on its own or together with readily available resources, including those purchased separately from us) and distinct within the context of the contract (i.e., separately identified from other promises in the contract) or (2) a series of distinct products or services that are substantially the same and have the same pattern of transfer to the customer. Our license subscriptions are delivered at a point in time while our cloud subscriptions, maintenance and support, and professional services are delivered over time.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Subscriptions Revenue &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our subscription contracts are priced based on the number of users who access and utilize the applications built on our platform, non-user-based single application licenses, or consumption-based pricing. Our subscription contract terms generally vary from &lt;span style="-sec-ix-hidden:f-453"&gt;one&lt;/span&gt; to three years with most providing for payment in advance on an annual, quarterly, or monthly basis. In certain instances, our customers have paid their entire contract up front. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Cloud Subscriptions &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We generate cloud subscriptions revenue primarily from the sales of subscriptions to access our cloud offering, together with related support services to our customers. We perform all required maintenance and support for our cloud offering, and the related revenue is reported as a component of cloud subscriptions revenue. Cloud subscriptions revenue is recognized on a ratable basis over the contract term beginning on the later of the date the service is made available to the customer or the commencement of the contract term. Our cloud-based subscription contracts generally have a term of &lt;span style="-sec-ix-hidden:f-455"&gt;one&lt;/span&gt; to three years in length. We bill customers and collect payment for subscriptions to our platform in advance, and they are non-cancellable.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Other Subscriptions&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our other subscriptions revenue is comprised of both license subscriptions and the related maintenance and support. Our license subscriptions revenue is derived from customers with self-managed installations of our platform. The majority of our self-managed license contracts are one year in length. For self-managed license subscriptions, we account for the software and related support separately as they are distinct performance obligations. Revenue from the license subscription is recognized when control of the software license has transferred to the customer, which is the later of delivery or commencement of the contract term. Revenue from maintenance and support is recognized ratably over the contract period, which is the period over which the customer has continuous access to maintenance and support.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Professional Services Revenue&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our professional services revenue is comprised of fees for consulting services, including application development and deployment assistance as well as training services related to our platform. Our professional services are considered distinct performance obligations when sold standalone or with other products.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Consulting Services&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We sell consulting services to assist customers in planning and executing the deployment of our software. Customers are not required to use consulting services to fully benefit from the software. Consulting services are regularly sold on a standalone basis and most often as either (1) under a fixed-fee arrangement or (2) on a time and materials basis. We also sell advisory services on a subscription basis to support customers or partners with their development and deployment. Consulting services contracts are considered separate performance obligations because they do not integrate with each other or with other products and services to deliver a combined output to the customer, do not modify or customize (or are not modified or customized by) each other or other products and services, and do not affect the customer's ability to use other consulting offerings or other products and services. Revenue under consulting contracts is recognized over time as services are delivered. Revenue from subscription-based consulting contracts is recognized ratably over the contract period. For time and materials-based consulting contracts, we have elected the practical expedient of recognizing revenue upon invoicing since the invoiced amount corresponds directly to the value of our service to date.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Training Services&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We sell various training services to our customers. Training services are sold in the form of prepaid training credits that are redeemed based on a fixed rate per course. Training revenue is recognized when the associated training services are delivered.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Significant Judgments and Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Determining the Transaction Price&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The transaction price is the total amount of consideration we expect to receive in exchange for the service offerings in a contract and may include both fixed and variable components. Variable consideration is included in the transaction price to the extent it is probable a significant reversal will not occur. The amount of variable consideration excluded from the transaction price for the three and six months ended June&#160;30, 2026 and 2025 was immaterial. Our estimates of variable consideration are also subject to subsequent true-up adjustments and may result in changes to transaction prices; however, such true-up adjustments are not expected to be material.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Allocating the Transaction Price Based on Standalone Selling Prices (&#x201c;SSP&#x201d;)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We allocate the transaction price to each performance obligation in a contract based on its relative SSP. The SSP is the observable price at which we sell the product or service separately. In the absence of observable pricing, we estimate SSP using the residual approach. We establish SSP as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:9.53pt"&gt;Cloud subscriptions - Given the highly variable selling price of our cloud subscriptions and the related maintenance and support, we establish the SSP using a residual approach after first determining the SSP of consulting and training services. We have concluded the residual approach to estimating the SSP of our cloud subscriptions is an appropriate allocation of the transaction price.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:9.53pt"&gt;License subscriptions - Given the highly variable selling price of our license subscriptions, we have established the SSP of license subscriptions using a residual approach after first determining the SSP of the related maintenance and support. Maintenance and support for license subscriptions is sold on a standalone basis in conjunction with renewals of our legacy perpetual software licenses and within a narrow range of the net license fee. Because an economic relationship exists between the license and maintenance and support, we have concluded the residual approach to estimating the SSP of license subscriptions is an appropriate allocation of the transaction price.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:9.53pt"&gt;Maintenance and support - We establish the SSP of maintenance and support for license subscriptions as a percentage of the stated net subscription fee based on observable pricing of maintenance and support renewals from our legacy perpetual software licenses. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:9.53pt"&gt;Consulting and training services - The SSP of consulting and training services is established based on the observable pricing of standalone sales within each geographic region where the services are sold. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Contract Balances&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Timing may differ between the satisfaction of performance obligations and the invoicing and collection of amounts related to our contracts with customers. Contract assets primarily relate to unbilled amounts for contracts with customers for which the amount of revenue recognized exceeds the amount billed to the customer. Contract assets are transferred to accounts receivable when the right to invoice becomes unconditional. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Contract liabilities consist of deferred revenue and include payments received in advance of the satisfaction of performance obligations. Deferred revenue is then recognized as the revenue recognition criteria are met. Deferred revenue that will be recognized during the succeeding 12-month period is recorded as current, and the remaining deferred revenue is recorded as non-current. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth our contract asset and contract liability balances (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:47.438%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.332%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;As of&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30, 2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30, 2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2024&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Contract assets, current&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline"&gt;*&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,788&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,877&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,376&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;12,933&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Contract assets, non-current&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline"&gt;*&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;208&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;211&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;643&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total contract assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,979&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;11,085&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,587&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;13,576&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Deferred revenue, current&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;314,263&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;341,281&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;264,917&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;281,760&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Deferred revenue, non-current&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,208&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,962&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,798&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,477&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total contract liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;321,471&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;350,243&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;275,715&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;287,237&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;*&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt; Current and non-current contract assets are reported as components of the &#x2018;Prepaid expenses and other current assets&#x2019; and &#x2018;Other assets&#x2019; line items, respectively, in our consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Revenue recognized from amounts included in contract liabilities at the beginning of the period totaled $234.8 million and $202.8 million for the six months ended June 30, 2026 and 2025, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Transaction Price Allocated to the Remaining Performance Obligations&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of June&#160;30, 2026, we had an aggregate transaction price of $625.3 million allocated to unsatisfied performance obligations. We expect to recognize $428.8 million of this balance as revenue over the next 12 months with the remaining amount recognized thereafter.&lt;/span&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock contextRef="c-1" id="f-431">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Revenue Recognition &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We generate subscriptions revenue primarily through the sale of cloud subscriptions bundled with maintenance and support and hosting services. Other subscriptions include self-managed license subscriptions and any associated maintenance and support. We generate professional services revenue from fees for our consulting services, including application development and deployment assistance as well as training related to our platform.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Performance Obligations and Timing of Revenue Recognition&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We primarily sell products and services that fall into the categories discussed below. Each category contains one or more performance obligations that are either (1) capable of being distinct (i.e., the customer can benefit from the product or service on its own or together with readily available resources, including those purchased separately from us) and distinct within the context of the contract (i.e., separately identified from other promises in the contract) or (2) a series of distinct products or services that are substantially the same and have the same pattern of transfer to the customer. Our license subscriptions are delivered at a point in time while our cloud subscriptions, maintenance and support, and professional services are delivered over time.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Subscriptions Revenue &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our subscription contracts are priced based on the number of users who access and utilize the applications built on our platform, non-user-based single application licenses, or consumption-based pricing. Our subscription contract terms generally vary from &lt;span style="-sec-ix-hidden:f-453"&gt;one&lt;/span&gt; to three years with most providing for payment in advance on an annual, quarterly, or monthly basis. In certain instances, our customers have paid their entire contract up front. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Cloud Subscriptions &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We generate cloud subscriptions revenue primarily from the sales of subscriptions to access our cloud offering, together with related support services to our customers. We perform all required maintenance and support for our cloud offering, and the related revenue is reported as a component of cloud subscriptions revenue. Cloud subscriptions revenue is recognized on a ratable basis over the contract term beginning on the later of the date the service is made available to the customer or the commencement of the contract term. Our cloud-based subscription contracts generally have a term of &lt;span style="-sec-ix-hidden:f-455"&gt;one&lt;/span&gt; to three years in length. We bill customers and collect payment for subscriptions to our platform in advance, and they are non-cancellable.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Other Subscriptions&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our other subscriptions revenue is comprised of both license subscriptions and the related maintenance and support. Our license subscriptions revenue is derived from customers with self-managed installations of our platform. The majority of our self-managed license contracts are one year in length. For self-managed license subscriptions, we account for the software and related support separately as they are distinct performance obligations. Revenue from the license subscription is recognized when control of the software license has transferred to the customer, which is the later of delivery or commencement of the contract term. Revenue from maintenance and support is recognized ratably over the contract period, which is the period over which the customer has continuous access to maintenance and support.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Professional Services Revenue&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our professional services revenue is comprised of fees for consulting services, including application development and deployment assistance as well as training services related to our platform. Our professional services are considered distinct performance obligations when sold standalone or with other products.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Consulting Services&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We sell consulting services to assist customers in planning and executing the deployment of our software. Customers are not required to use consulting services to fully benefit from the software. Consulting services are regularly sold on a standalone basis and most often as either (1) under a fixed-fee arrangement or (2) on a time and materials basis. We also sell advisory services on a subscription basis to support customers or partners with their development and deployment. Consulting services contracts are considered separate performance obligations because they do not integrate with each other or with other products and services to deliver a combined output to the customer, do not modify or customize (or are not modified or customized by) each other or other products and services, and do not affect the customer's ability to use other consulting offerings or other products and services. Revenue under consulting contracts is recognized over time as services are delivered. Revenue from subscription-based consulting contracts is recognized ratably over the contract period. For time and materials-based consulting contracts, we have elected the practical expedient of recognizing revenue upon invoicing since the invoiced amount corresponds directly to the value of our service to date.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Training Services&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We sell various training services to our customers. Training services are sold in the form of prepaid training credits that are redeemed based on a fixed rate per course. Training revenue is recognized when the associated training services are delivered.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="background-color:#ffffff;color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Significant Judgments and Estimates&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Determining the Transaction Price&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The transaction price is the total amount of consideration we expect to receive in exchange for the service offerings in a contract and may include both fixed and variable components. Variable consideration is included in the transaction price to the extent it is probable a significant reversal will not occur. The amount of variable consideration excluded from the transaction price for the three and six months ended June&#160;30, 2026 and 2025 was immaterial. Our estimates of variable consideration are also subject to subsequent true-up adjustments and may result in changes to transaction prices; however, such true-up adjustments are not expected to be material.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Allocating the Transaction Price Based on Standalone Selling Prices (&#x201c;SSP&#x201d;)&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We allocate the transaction price to each performance obligation in a contract based on its relative SSP. The SSP is the observable price at which we sell the product or service separately. In the absence of observable pricing, we estimate SSP using the residual approach. We establish SSP as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;1.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:9.53pt"&gt;Cloud subscriptions - Given the highly variable selling price of our cloud subscriptions and the related maintenance and support, we establish the SSP using a residual approach after first determining the SSP of consulting and training services. We have concluded the residual approach to estimating the SSP of our cloud subscriptions is an appropriate allocation of the transaction price.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;2.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:9.53pt"&gt;License subscriptions - Given the highly variable selling price of our license subscriptions, we have established the SSP of license subscriptions using a residual approach after first determining the SSP of the related maintenance and support. Maintenance and support for license subscriptions is sold on a standalone basis in conjunction with renewals of our legacy perpetual software licenses and within a narrow range of the net license fee. Because an economic relationship exists between the license and maintenance and support, we have concluded the residual approach to estimating the SSP of license subscriptions is an appropriate allocation of the transaction price.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;3.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:9.53pt"&gt;Maintenance and support - We establish the SSP of maintenance and support for license subscriptions as a percentage of the stated net subscription fee based on observable pricing of maintenance and support renewals from our legacy perpetual software licenses. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;4.&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:9.53pt"&gt;Consulting and training services - The SSP of consulting and training services is established based on the observable pricing of standalone sales within each geographic region where the services are sold. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Contract Balances&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Timing may differ between the satisfaction of performance obligations and the invoicing and collection of amounts related to our contracts with customers. Contract assets primarily relate to unbilled amounts for contracts with customers for which the amount of revenue recognized exceeds the amount billed to the customer. Contract assets are transferred to accounts receivable when the right to invoice becomes unconditional. &lt;/span&gt;&lt;/div&gt;Contract liabilities consist of deferred revenue and include payments received in advance of the satisfaction of performance obligations. Deferred revenue is then recognized as the revenue recognition criteria are met. Deferred revenue that will be recognized during the succeeding 12-month period is recorded as current, and the remaining deferred revenue is recorded as non-current.</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
    <us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock contextRef="c-1" id="f-432">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes revenue recorded during the three and six months ended June&#160;30, 2026 and 2025 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:44.514%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.788%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.788%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.332%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cloud subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;131,667&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;106,915&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;256,178&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;206,741&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Other subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;26,015&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25,742&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;61,815&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;60,268&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 7pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;157,682&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;132,657&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;317,993&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;267,009&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Professional services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;45,574&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;37,983&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;87,443&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;70,057&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 13pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total revenue&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;203,256&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;170,640&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;405,436&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;337,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEntityWideInformationRevenueFromExternalCustomersByProductsAndServicesTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-90" decimals="-3" id="f-433" unitRef="usd">131667000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-91" decimals="-3" id="f-434" unitRef="usd">106915000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-92" decimals="-3" id="f-435" unitRef="usd">256178000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-93" decimals="-3" id="f-436" unitRef="usd">206741000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-94" decimals="-3" id="f-437" unitRef="usd">26015000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-95" decimals="-3" id="f-438" unitRef="usd">25742000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-96" decimals="-3" id="f-439" unitRef="usd">61815000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-97" decimals="-3" id="f-440" unitRef="usd">60268000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-10" decimals="-3" id="f-441" unitRef="usd">157682000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-11" decimals="-3" id="f-442" unitRef="usd">132657000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-12" decimals="-3" id="f-443" unitRef="usd">317993000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-13" decimals="-3" id="f-444" unitRef="usd">267009000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-14" decimals="-3" id="f-445" unitRef="usd">45574000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-15" decimals="-3" id="f-446" unitRef="usd">37983000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-16" decimals="-3" id="f-447" unitRef="usd">87443000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-17" decimals="-3" id="f-448" unitRef="usd">70057000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-18" decimals="-3" id="f-449" unitRef="usd">203256000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-19" decimals="-3" id="f-450" unitRef="usd">170640000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-1" decimals="-3" id="f-451" unitRef="usd">405436000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-20" decimals="-3" id="f-452" unitRef="usd">337066000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <appn:SubscriptionContractsTerm contextRef="c-99" id="f-454">P3Y</appn:SubscriptionContractsTerm>
    <appn:SubscriptionContractsTerm contextRef="c-101" id="f-456">P3Y</appn:SubscriptionContractsTerm>
    <appn:SubscriptionContractsTerm contextRef="c-96" id="f-457">P1Y</appn:SubscriptionContractsTerm>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock contextRef="c-1" id="f-458">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth our contract asset and contract liability balances (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:47.438%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.332%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;As of&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30, 2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30, 2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2024&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Contract assets, current&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline"&gt;*&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,788&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,877&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,376&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;12,933&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Contract assets, non-current&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline"&gt;*&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;191&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;208&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;211&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;643&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total contract assets&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,979&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;11,085&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,587&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;13,576&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Deferred revenue, current&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;314,263&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;341,281&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;264,917&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;281,760&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Deferred revenue, non-current&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,208&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,962&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,798&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,477&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 13pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total contract liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;321,471&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;350,243&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;275,715&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;287,237&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:bottom"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;*&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt; Current and non-current contract assets are reported as components of the &#x2018;Prepaid expenses and other current assets&#x2019; and &#x2018;Other assets&#x2019; line items, respectively, in our consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerAssetNetCurrent contextRef="c-4" decimals="-3" id="f-459" unitRef="usd">7788000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent contextRef="c-5" decimals="-3" id="f-460" unitRef="usd">10877000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent contextRef="c-75" decimals="-3" id="f-461" unitRef="usd">10376000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent contextRef="c-53" decimals="-3" id="f-462" unitRef="usd">12933000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetNoncurrent contextRef="c-4" decimals="-3" id="f-463" unitRef="usd">191000</us-gaap:ContractWithCustomerAssetNetNoncurrent>
    <us-gaap:ContractWithCustomerAssetNetNoncurrent contextRef="c-5" decimals="-3" id="f-464" unitRef="usd">208000</us-gaap:ContractWithCustomerAssetNetNoncurrent>
    <us-gaap:ContractWithCustomerAssetNetNoncurrent contextRef="c-75" decimals="-3" id="f-465" unitRef="usd">211000</us-gaap:ContractWithCustomerAssetNetNoncurrent>
    <us-gaap:ContractWithCustomerAssetNetNoncurrent contextRef="c-53" decimals="-3" id="f-466" unitRef="usd">643000</us-gaap:ContractWithCustomerAssetNetNoncurrent>
    <us-gaap:ContractWithCustomerAssetNet contextRef="c-4" decimals="-3" id="f-467" unitRef="usd">7979000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerAssetNet contextRef="c-5" decimals="-3" id="f-468" unitRef="usd">11085000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerAssetNet contextRef="c-75" decimals="-3" id="f-469" unitRef="usd">10587000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerAssetNet contextRef="c-53" decimals="-3" id="f-470" unitRef="usd">13576000</us-gaap:ContractWithCustomerAssetNet>
    <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="c-4" decimals="-3" id="f-471" unitRef="usd">314263000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="c-5" decimals="-3" id="f-472" unitRef="usd">341281000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="c-75" decimals="-3" id="f-473" unitRef="usd">264917000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent contextRef="c-53" decimals="-3" id="f-474" unitRef="usd">281760000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent contextRef="c-4" decimals="-3" id="f-475" unitRef="usd">7208000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent contextRef="c-5" decimals="-3" id="f-476" unitRef="usd">8962000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent contextRef="c-75" decimals="-3" id="f-477" unitRef="usd">10798000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent contextRef="c-53" decimals="-3" id="f-478" unitRef="usd">5477000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiability contextRef="c-4" decimals="-3" id="f-479" unitRef="usd">321471000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability contextRef="c-5" decimals="-3" id="f-480" unitRef="usd">350243000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability contextRef="c-75" decimals="-3" id="f-481" unitRef="usd">275715000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiability contextRef="c-53" decimals="-3" id="f-482" unitRef="usd">287237000</us-gaap:ContractWithCustomerLiability>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized contextRef="c-1" decimals="-5" id="f-483" unitRef="usd">234800000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:ContractWithCustomerLiabilityRevenueRecognized contextRef="c-20" decimals="-5" id="f-484" unitRef="usd">202800000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
    <us-gaap:RevenueRemainingPerformanceObligation contextRef="c-4" decimals="-5" id="f-485" unitRef="usd">625300000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation contextRef="c-102" decimals="-5" id="f-486" unitRef="usd">428800000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 contextRef="c-102" id="f-487">P12M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:LesseeOperatingLeasesTextBlock contextRef="c-1" id="f-488">&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;4. Leases&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of June&#160;30, 2026, our lease portfolio consists entirely of operating leases for corporate offices. Our operating leases have remaining lease terms with various expiration dates through 2031, and some leases include options to extend the term for up to an additional 10 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Lease Costs&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Expense for operating leases is recognized on a straight-line basis over the lease term as an operating expense. We have lease agreements which require payments for lease and non-lease components (i.e., common area maintenance) that are accounted for as a single lease component. Variable lease payment amounts that cannot be determined at the commencement of the lease such as maintenance costs, utilities, and service charges are not included in right-of-use (&#x201c;ROU&#x201d;) assets for operating leases or operating lease liabilities but rather are expensed as incurred and recorded as variable lease expense. We often receive customary incentives from our landlords such as tenant improvement allowances (&#x201c;TIAs&#x201d;) and rent abatement periods, which effectively reduce total lease payments owed for the leases. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the components of lease expense for the three and six months ended June&#160;30, 2026 and 2025 (in thousands, exclusive of sublease income):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:41.590%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.788%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.788%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.788%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.794%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Operating lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,556&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,615&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,919&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,008&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Short-term lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;247&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;282&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;453&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;532&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Variable lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,536&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,244&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,197&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,616&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 13pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,339&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,141&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,569&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,156&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Sublease income totaled $0.3 million and $0.6 million for the three and six months ended June&#160;30, 2026, respectively. Sublease income totaled $0.3 million and $0.7 million for the three and six months ended June&#160;30, 2025, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Supplemental Lease Information&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental balance sheet information related to operating leases as of June&#160;30, 2026 and December&#160;31, 2025 is presented in the following table (in thousands, except for lease term and discount rate):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:73.461%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.329%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;As of&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30, 2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Right-of-use assets for operating leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 7pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;30,437&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 7pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;28,075&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Operating lease liabilities, current&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 7pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;14,171&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 7pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;13,181&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Operating lease liabilities, net of current portion&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 7pt 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;45,128&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 7pt 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;45,693&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 19pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 7pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;59,299&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 7pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;58,874&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Weighted average remaining lease term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5.5&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Weighted average discount rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;9.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;9.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental cash flow and expense information related to operating leases for the three and six months ended June&#160;30, 2026 and 2025 is shown below (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:44.514%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.788%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.788%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.332%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Operating cash outflows for operating leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,414&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,248&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,824&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,441&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Amortization of operating lease right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,211&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;947&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,254&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,857&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Interest expense on operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,345&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,466&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,665&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,949&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Non-cash operating lease liabilities arising from obtaining right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,370&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,370&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of our future minimum lease commitments under non-cancellable operating leases as of June&#160;30, 2026 is shown below (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:86.473%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.327%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2026 (excluding the six months ended June 30, 2026)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,633&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;15,007&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2028&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;14,096&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2029&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;14,098&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2030&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;14,140&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,842&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;75,816&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Less: imputed interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(16,517)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 13pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;59,299&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:LesseeOperatingLeaseRenewalTerm contextRef="c-4" id="f-489">P10Y</us-gaap:LesseeOperatingLeaseRenewalTerm>
    <us-gaap:LesseeLeasesPolicyTextBlock contextRef="c-1" id="f-490">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Lease Costs&lt;/span&gt;&lt;/div&gt;Expense for operating leases is recognized on a straight-line basis over the lease term as an operating expense. We have lease agreements which require payments for lease and non-lease components (i.e., common area maintenance) that are accounted for as a single lease component. Variable lease payment amounts that cannot be determined at the commencement of the lease such as maintenance costs, utilities, and service charges are not included in right-of-use (&#x201c;ROU&#x201d;) assets for operating leases or operating lease liabilities but rather are expensed as incurred and recorded as variable lease expense. We often receive customary incentives from our landlords such as tenant improvement allowances (&#x201c;TIAs&#x201d;) and rent abatement periods, which effectively reduce total lease payments owed for the leases.</us-gaap:LesseeLeasesPolicyTextBlock>
    <us-gaap:LeaseCostTableTextBlock contextRef="c-1" id="f-491">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table sets forth the components of lease expense for the three and six months ended June&#160;30, 2026 and 2025 (in thousands, exclusive of sublease income):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:41.590%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.788%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.788%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.788%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.794%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Operating lease cost&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,556&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,615&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,919&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,008&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Short-term lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;247&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;282&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;453&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;532&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Variable lease cost&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,536&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,244&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,197&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,616&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 13pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,339&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,141&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,569&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,156&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LeaseCostTableTextBlock>
    <us-gaap:OperatingLeaseCost contextRef="c-18" decimals="-3" id="f-492" unitRef="usd">2556000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost contextRef="c-19" decimals="-3" id="f-493" unitRef="usd">2615000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost contextRef="c-1" decimals="-3" id="f-494" unitRef="usd">4919000</us-gaap:OperatingLeaseCost>
    <us-gaap:OperatingLeaseCost contextRef="c-20" decimals="-3" id="f-495" unitRef="usd">5008000</us-gaap:OperatingLeaseCost>
    <us-gaap:ShortTermLeaseCost contextRef="c-18" decimals="-3" id="f-496" unitRef="usd">247000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost contextRef="c-19" decimals="-3" id="f-497" unitRef="usd">282000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost contextRef="c-1" decimals="-3" id="f-498" unitRef="usd">453000</us-gaap:ShortTermLeaseCost>
    <us-gaap:ShortTermLeaseCost contextRef="c-20" decimals="-3" id="f-499" unitRef="usd">532000</us-gaap:ShortTermLeaseCost>
    <us-gaap:VariableLeaseCost contextRef="c-18" decimals="-3" id="f-500" unitRef="usd">1536000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost contextRef="c-19" decimals="-3" id="f-501" unitRef="usd">1244000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost contextRef="c-1" decimals="-3" id="f-502" unitRef="usd">3197000</us-gaap:VariableLeaseCost>
    <us-gaap:VariableLeaseCost contextRef="c-20" decimals="-3" id="f-503" unitRef="usd">2616000</us-gaap:VariableLeaseCost>
    <us-gaap:LeaseCost contextRef="c-18" decimals="-3" id="f-504" unitRef="usd">4339000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost contextRef="c-19" decimals="-3" id="f-505" unitRef="usd">4141000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost contextRef="c-1" decimals="-3" id="f-506" unitRef="usd">8569000</us-gaap:LeaseCost>
    <us-gaap:LeaseCost contextRef="c-20" decimals="-3" id="f-507" unitRef="usd">8156000</us-gaap:LeaseCost>
    <us-gaap:SubleaseIncome contextRef="c-18" decimals="-5" id="f-508" unitRef="usd">300000</us-gaap:SubleaseIncome>
    <us-gaap:SubleaseIncome contextRef="c-1" decimals="-5" id="f-509" unitRef="usd">600000</us-gaap:SubleaseIncome>
    <us-gaap:SubleaseIncome contextRef="c-19" decimals="-5" id="f-510" unitRef="usd">300000</us-gaap:SubleaseIncome>
    <us-gaap:SubleaseIncome contextRef="c-20" decimals="-5" id="f-511" unitRef="usd">700000</us-gaap:SubleaseIncome>
    <appn:AssetsAndLiabilitiesLesseeTableTextBlock contextRef="c-1" id="f-512">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental balance sheet information related to operating leases as of June&#160;30, 2026 and December&#160;31, 2025 is presented in the following table (in thousands, except for lease term and discount rate):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:73.461%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.329%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;As of&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30, 2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Right-of-use assets for operating leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 7pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;30,437&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 7pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;28,075&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Operating lease liabilities, current&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 7pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;14,171&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 7pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;13,181&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Operating lease liabilities, net of current portion&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 7pt 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;45,128&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 7pt 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;45,693&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 19pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 7pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;59,299&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 7pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;58,874&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Weighted average remaining lease term (in years)&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5.0&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5.5&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Weighted average discount rate&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;9.2&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;9.4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;%&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</appn:AssetsAndLiabilitiesLesseeTableTextBlock>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="c-4" decimals="-3" id="f-513" unitRef="usd">30437000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset contextRef="c-5" decimals="-3" id="f-514" unitRef="usd">28075000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="c-4" decimals="-3" id="f-515" unitRef="usd">14171000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent contextRef="c-5" decimals="-3" id="f-516" unitRef="usd">13181000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c-4" decimals="-3" id="f-517" unitRef="usd">45128000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent contextRef="c-5" decimals="-3" id="f-518" unitRef="usd">45693000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiability contextRef="c-4" decimals="-3" id="f-519" unitRef="usd">59299000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability contextRef="c-5" decimals="-3" id="f-520" unitRef="usd">58874000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="c-4" id="f-521">P5Y</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 contextRef="c-5" id="f-522">P5Y6M</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent contextRef="c-4" decimals="3" id="f-523" unitRef="number">0.092</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent contextRef="c-5" decimals="3" id="f-524" unitRef="number">0.094</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <appn:SupplementalCashFlowInformationRelatedToLeasesTableTextBlock contextRef="c-1" id="f-525">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Supplemental cash flow and expense information related to operating leases for the three and six months ended June&#160;30, 2026 and 2025 is shown below (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:44.514%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.788%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.788%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.332%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Operating cash outflows for operating leases&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,414&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,248&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,824&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,441&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:15pt"&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Amortization of operating lease right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,211&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;947&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,254&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,857&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Interest expense on operating lease liabilities&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,345&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,466&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,665&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,949&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Non-cash operating lease liabilities arising from obtaining right-of-use assets&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,370&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;5,370&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</appn:SupplementalCashFlowInformationRelatedToLeasesTableTextBlock>
    <us-gaap:OperatingLeasePayments contextRef="c-18" decimals="-3" id="f-526" unitRef="usd">3414000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments contextRef="c-19" decimals="-3" id="f-527" unitRef="usd">3248000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments contextRef="c-1" decimals="-3" id="f-528" unitRef="usd">6824000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments contextRef="c-20" decimals="-3" id="f-529" unitRef="usd">6441000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense contextRef="c-18" decimals="-3" id="f-530" unitRef="usd">1211000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense contextRef="c-19" decimals="-3" id="f-531" unitRef="usd">947000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense contextRef="c-1" decimals="-3" id="f-532" unitRef="usd">2254000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense contextRef="c-20" decimals="-3" id="f-533" unitRef="usd">1857000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <appn:OperatingLeaseInterestExpense contextRef="c-18" decimals="-3" id="f-534" unitRef="usd">1345000</appn:OperatingLeaseInterestExpense>
    <appn:OperatingLeaseInterestExpense contextRef="c-19" decimals="-3" id="f-535" unitRef="usd">1466000</appn:OperatingLeaseInterestExpense>
    <appn:OperatingLeaseInterestExpense contextRef="c-1" decimals="-3" id="f-536" unitRef="usd">2665000</appn:OperatingLeaseInterestExpense>
    <appn:OperatingLeaseInterestExpense contextRef="c-20" decimals="-3" id="f-537" unitRef="usd">2949000</appn:OperatingLeaseInterestExpense>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability contextRef="c-18" decimals="-3" id="f-538" unitRef="usd">5370000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability contextRef="c-19" decimals="-3" id="f-539" unitRef="usd">0</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability contextRef="c-1" decimals="-3" id="f-540" unitRef="usd">5370000</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability contextRef="c-20" decimals="-3" id="f-541" unitRef="usd">0</us-gaap:RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock contextRef="c-1" id="f-542">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;A summary of our future minimum lease commitments under non-cancellable operating leases as of June&#160;30, 2026 is shown below (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:86.473%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.327%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Operating Leases&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2026 (excluding the six months ended June 30, 2026)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,633&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;15,007&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2028&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;14,096&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2029&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;14,098&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2030&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;14,140&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,842&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total lease payments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;75,816&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Less: imputed interest&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(16,517)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 13pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;59,299&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear contextRef="c-4" decimals="-3" id="f-543" unitRef="usd">7633000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths contextRef="c-4" decimals="-3" id="f-544" unitRef="usd">15007000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo contextRef="c-4" decimals="-3" id="f-545" unitRef="usd">14096000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree contextRef="c-4" decimals="-3" id="f-546" unitRef="usd">14098000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour contextRef="c-4" decimals="-3" id="f-547" unitRef="usd">14140000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
    <appn:LesseeOperatingLeaseLiabilityToBePaidAfterYearFour contextRef="c-4" decimals="-3" id="f-548" unitRef="usd">10842000</appn:LesseeOperatingLeaseLiabilityToBePaidAfterYearFour>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue contextRef="c-4" decimals="-3" id="f-549" unitRef="usd">75816000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount contextRef="c-4" decimals="-3" id="f-550" unitRef="usd">16517000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability contextRef="c-4" decimals="-3" id="f-551" unitRef="usd">59299000</us-gaap:OperatingLeaseLiability>
    <us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock contextRef="c-1" id="f-552">&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;5. Goodwill and Intangible Assets&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table details the changes in goodwill during the six months ended June 30, 2026 and fiscal year ended December&#160;31, 2025 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:86.473%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.327%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Balance as of December&#160;31, 2024&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25,555&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Foreign currency translation adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,256&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Balance as of December&#160;31, 2025&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;28,811&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Foreign currency translation adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(838)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Balance as of June&#160;30, 2026&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;27,973&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intangible assets, net consisted of the following as of June&#160;30, 2026 and December&#160;31, 2025 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:73.461%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.329%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;As of&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30, 2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Developed technology&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,318&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,537&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Customer relationships &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;980&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,010&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Intangible assets, gross&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,298&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,547&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Less: accumulated amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(7,710)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(7,301)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Intangible assets, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;588&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,246&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intangible amortization expense was $0.3 million and $0.6 million for each of the three and six months ended June&#160;30, 2026 and 2025, respectively. As of June&#160;30, 2026, the weighted average remaining amortization periods for developed technology and customer relationships were approximately 0.2 years and 4.8 years, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table shows the projected annual amortization expense related to amortizable intangible assets as of June&#160;30, 2026 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:86.473%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.327%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Projected Amortization&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2026 (excluding the six months ended June 30, 2026)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;178&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;98&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2028&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;98&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2029&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;98&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2030&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;72&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;44&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total projected amortization expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;588&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock>
    <us-gaap:ScheduleOfGoodwillTextBlock contextRef="c-1" id="f-553">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table details the changes in goodwill during the six months ended June 30, 2026 and fiscal year ended December&#160;31, 2025 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:86.473%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.327%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Carrying Amount&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Balance as of December&#160;31, 2024&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;25,555&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Foreign currency translation adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,256&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Balance as of December&#160;31, 2025&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;28,811&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Foreign currency translation adjustments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(838)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Balance as of June&#160;30, 2026&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;27,973&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfGoodwillTextBlock>
    <us-gaap:Goodwill contextRef="c-53" decimals="-3" id="f-554" unitRef="usd">25555000</us-gaap:Goodwill>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss contextRef="c-103" decimals="-3" id="f-555" unitRef="usd">3256000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill contextRef="c-5" decimals="-3" id="f-556" unitRef="usd">28811000</us-gaap:Goodwill>
    <us-gaap:GoodwillForeignCurrencyTranslationGainLoss contextRef="c-1" decimals="-3" id="f-557" unitRef="usd">-838000</us-gaap:GoodwillForeignCurrencyTranslationGainLoss>
    <us-gaap:Goodwill contextRef="c-4" decimals="-3" id="f-558" unitRef="usd">27973000</us-gaap:Goodwill>
    <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock contextRef="c-1" id="f-559">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Intangible assets, net consisted of the following as of June&#160;30, 2026 and December&#160;31, 2025 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:73.461%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.329%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;As of&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30, 2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Developed technology&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,318&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,537&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Customer relationships &lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;980&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,010&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Intangible assets, gross&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,298&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;8,547&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Less: accumulated amortization&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(7,710)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(7,301)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Intangible assets, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;588&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,246&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-104" decimals="-3" id="f-560" unitRef="usd">7318000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-105" decimals="-3" id="f-561" unitRef="usd">7537000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-106" decimals="-3" id="f-562" unitRef="usd">980000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-107" decimals="-3" id="f-563" unitRef="usd">1010000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-4" decimals="-3" id="f-564" unitRef="usd">8298000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="c-5" decimals="-3" id="f-565" unitRef="usd">8547000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-4" decimals="-3" id="f-566" unitRef="usd">7710000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="c-5" decimals="-3" id="f-567" unitRef="usd">7301000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-4" decimals="-3" id="f-568" unitRef="usd">588000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-5" decimals="-3" id="f-569" unitRef="usd">1246000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="c-18" decimals="-5" id="f-570" unitRef="usd">300000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="c-19" decimals="-5" id="f-571" unitRef="usd">300000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="c-1" decimals="-5" id="f-572" unitRef="usd">600000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets contextRef="c-20" decimals="-5" id="f-573" unitRef="usd">600000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="c-104" id="f-574">P0Y2M12D</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:FiniteLivedIntangibleAssetUsefulLife contextRef="c-106" id="f-575">P4Y9M18D</us-gaap:FiniteLivedIntangibleAssetUsefulLife>
    <us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock contextRef="c-1" id="f-576">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table shows the projected annual amortization expense related to amortizable intangible assets as of June&#160;30, 2026 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:86.473%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.327%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Projected Amortization&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2026 (excluding the six months ended June 30, 2026)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;178&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;98&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2028&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;98&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2029&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;98&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2030&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;72&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Thereafter&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;44&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total projected amortization expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;588&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear contextRef="c-4" decimals="-3" id="f-577" unitRef="usd">178000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths contextRef="c-4" decimals="-3" id="f-578" unitRef="usd">98000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo contextRef="c-4" decimals="-3" id="f-579" unitRef="usd">98000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree contextRef="c-4" decimals="-3" id="f-580" unitRef="usd">98000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
    <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour contextRef="c-4" decimals="-3" id="f-581" unitRef="usd">72000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
    <appn:FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour contextRef="c-4" decimals="-3" id="f-582" unitRef="usd">44000</appn:FiniteLivedIntangibleAssetExpectedAmortizationAfterYearFour>
    <us-gaap:FiniteLivedIntangibleAssetsNet contextRef="c-4" decimals="-3" id="f-583" unitRef="usd">588000</us-gaap:FiniteLivedIntangibleAssetsNet>
    <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock contextRef="c-1" id="f-584">&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;6. Property and Equipment, net&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment, net consisted of the following as of June&#160;30, 2026 and December&#160;31, 2025 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:73.461%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.329%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;As of&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30, 2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Leasehold improvements&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;55,558&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;55,465&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Office furniture and fixtures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,644&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,616&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Computer software and hardware&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,504&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Internally developed software&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,341&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,341&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;218&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;218&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Work in process&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,728&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;690&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Property and equipment, gross&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;73,600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;72,834&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Less: accumulated depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(42,933)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(40,747)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Property and equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;30,667&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;32,087&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;Depreciation expense totaled $2.2 million and $4.1 million for the three and six months ended June&#160;30, 2026, respectively. Depreciation expense totaled $2.2 million and $4.4 million for the three and six months ended June&#160;30, 2025, respectively. We disposed of $0.2 million and $0.7 million worth of fully depreciated equipment during the three and six months ended June&#160;30, 2026. We had no disposals or retirements during the three and six months ended June&#160;30, 2025.</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
    <us-gaap:PropertyPlantAndEquipmentTextBlock contextRef="c-1" id="f-585">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Property and equipment, net consisted of the following as of June&#160;30, 2026 and December&#160;31, 2025 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:73.461%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.329%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;As of&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30, 2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Leasehold improvements&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;55,558&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;55,465&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Office furniture and fixtures&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,644&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,616&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Computer software and hardware&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,504&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Internally developed software&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,341&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,341&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Equipment&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;218&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;218&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Work in process&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,728&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;690&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Property and equipment, gross&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;73,600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;72,834&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Less: accumulated depreciation&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(42,933)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(40,747)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Property and equipment, net&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;30,667&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;32,087&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-108" decimals="-3" id="f-586" unitRef="usd">55558000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-109" decimals="-3" id="f-587" unitRef="usd">55465000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-89" decimals="-3" id="f-588" unitRef="usd">4644000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-110" decimals="-3" id="f-589" unitRef="usd">4616000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-87" decimals="-3" id="f-590" unitRef="usd">10111000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-111" decimals="-3" id="f-591" unitRef="usd">10504000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-86" decimals="-3" id="f-592" unitRef="usd">1341000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-112" decimals="-3" id="f-593" unitRef="usd">1341000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-88" decimals="-3" id="f-594" unitRef="usd">218000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-113" decimals="-3" id="f-595" unitRef="usd">218000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-114" decimals="-3" id="f-596" unitRef="usd">1728000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-115" decimals="-3" id="f-597" unitRef="usd">690000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-4" decimals="-3" id="f-598" unitRef="usd">73600000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization contextRef="c-5" decimals="-3" id="f-599" unitRef="usd">72834000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetBeforeAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization contextRef="c-4" decimals="-3" id="f-600" unitRef="usd">42933000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization contextRef="c-5" decimals="-3" id="f-601" unitRef="usd">40747000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization contextRef="c-4" decimals="-3" id="f-602" unitRef="usd">30667000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization contextRef="c-5" decimals="-3" id="f-603" unitRef="usd">32087000</us-gaap:PropertyPlantAndEquipmentAndFinanceLeaseRightOfUseAssetAfterAccumulatedDepreciationAndAmortization>
    <us-gaap:Depreciation contextRef="c-18" decimals="-5" id="f-604" unitRef="usd">2200000</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="c-1" decimals="-5" id="f-605" unitRef="usd">4100000</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="c-19" decimals="-5" id="f-606" unitRef="usd">2200000</us-gaap:Depreciation>
    <us-gaap:Depreciation contextRef="c-20" decimals="-5" id="f-607" unitRef="usd">4400000</us-gaap:Depreciation>
    <us-gaap:PropertyPlantAndEquipmentDisposals contextRef="c-18" decimals="-5" id="f-608" unitRef="usd">200000</us-gaap:PropertyPlantAndEquipmentDisposals>
    <us-gaap:PropertyPlantAndEquipmentDisposals contextRef="c-1" decimals="-5" id="f-609" unitRef="usd">700000</us-gaap:PropertyPlantAndEquipmentDisposals>
    <us-gaap:PropertyPlantAndEquipmentDisposals contextRef="c-19" decimals="-5" id="f-610" unitRef="usd">0</us-gaap:PropertyPlantAndEquipmentDisposals>
    <us-gaap:PropertyPlantAndEquipmentDisposals contextRef="c-20" decimals="-5" id="f-611" unitRef="usd">0</us-gaap:PropertyPlantAndEquipmentDisposals>
    <us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock contextRef="c-1" id="f-612">&lt;div style="-sec-extract:summary"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;7. Accrued Expenses&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accrued expenses consisted of the following as of June&#160;30, 2026 and December&#160;31, 2025 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:73.461%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.329%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;As of&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30, 2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Hosting costs and license fees&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,296&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Legal costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,257&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,438&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Reimbursable employee expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,118&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,123&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Contract labor costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,016&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Audit and tax expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,517&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,818&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Marketing and tradeshow expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,536&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;892&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Taxes payable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;931&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,953&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Other accrued expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,991&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,089&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total accrued expenses&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;21,662&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;18,483&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock>
    <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock contextRef="c-1" id="f-613">&lt;div style="padding-left:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Accrued expenses consisted of the following as of June&#160;30, 2026 and December&#160;31, 2025 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:73.461%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.329%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;As of&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30, 2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Hosting costs and license fees&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,296&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,570&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Legal costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,257&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,438&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Reimbursable employee expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,118&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,123&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Contract labor costs&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,016&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,600&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Audit and tax expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,517&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,818&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Marketing and tradeshow expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,536&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;892&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Taxes payable&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;931&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,953&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Other accrued expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,991&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,089&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total accrued expenses&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;21,662&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;18,483&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
    <appn:AccruedHostingCostsAndLicenseFeesCurrent contextRef="c-4" decimals="-3" id="f-614" unitRef="usd">7296000</appn:AccruedHostingCostsAndLicenseFeesCurrent>
    <appn:AccruedHostingCostsAndLicenseFeesCurrent contextRef="c-5" decimals="-3" id="f-615" unitRef="usd">6570000</appn:AccruedHostingCostsAndLicenseFeesCurrent>
    <appn:AccruedLegalCostsCurrent contextRef="c-4" decimals="-3" id="f-616" unitRef="usd">2257000</appn:AccruedLegalCostsCurrent>
    <appn:AccruedLegalCostsCurrent contextRef="c-5" decimals="-3" id="f-617" unitRef="usd">1438000</appn:AccruedLegalCostsCurrent>
    <us-gaap:OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent contextRef="c-4" decimals="-3" id="f-618" unitRef="usd">2118000</us-gaap:OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent>
    <us-gaap:OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent contextRef="c-5" decimals="-3" id="f-619" unitRef="usd">1123000</us-gaap:OtherEmployeeRelatedLiabilitiesCurrentAndNoncurrent>
    <appn:AccruedContractEmploymentCurrent contextRef="c-4" decimals="-3" id="f-620" unitRef="usd">2016000</appn:AccruedContractEmploymentCurrent>
    <appn:AccruedContractEmploymentCurrent contextRef="c-5" decimals="-3" id="f-621" unitRef="usd">2600000</appn:AccruedContractEmploymentCurrent>
    <us-gaap:AccruedProfessionalFeesCurrent contextRef="c-4" decimals="-3" id="f-622" unitRef="usd">1517000</us-gaap:AccruedProfessionalFeesCurrent>
    <us-gaap:AccruedProfessionalFeesCurrent contextRef="c-5" decimals="-3" id="f-623" unitRef="usd">1818000</us-gaap:AccruedProfessionalFeesCurrent>
    <us-gaap:AccruedMarketingCostsCurrent contextRef="c-4" decimals="-3" id="f-624" unitRef="usd">1536000</us-gaap:AccruedMarketingCostsCurrent>
    <us-gaap:AccruedMarketingCostsCurrent contextRef="c-5" decimals="-3" id="f-625" unitRef="usd">892000</us-gaap:AccruedMarketingCostsCurrent>
    <us-gaap:TaxesPayableCurrent contextRef="c-4" decimals="-3" id="f-626" unitRef="usd">931000</us-gaap:TaxesPayableCurrent>
    <us-gaap:TaxesPayableCurrent contextRef="c-5" decimals="-3" id="f-627" unitRef="usd">1953000</us-gaap:TaxesPayableCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent contextRef="c-4" decimals="-3" id="f-628" unitRef="usd">3991000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:OtherAccruedLiabilitiesCurrent contextRef="c-5" decimals="-3" id="f-629" unitRef="usd">2089000</us-gaap:OtherAccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="c-4" decimals="-3" id="f-630" unitRef="usd">21662000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="c-5" decimals="-3" id="f-631" unitRef="usd">18483000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:DebtDisclosureTextBlock contextRef="c-1" id="f-632">&lt;div style="-sec-extract:summary"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;8. Debt&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Senior Secured Credit Facilities Credit Agreement&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have a Senior Secured Credit Facilities Credit Agreement (the &#x201c;Credit Agreement&#x201d;) which provides for a five-year term loan facility in an aggregate principal amount of $200.0 million and, in addition, up to $100.0 million for a revolving credit facility, including a letter of credit sub-facility in the aggregate availability amount of $20.0 million and a swingline sub-facility in the aggregate availability amount of $10.0 million (as a sublimit of the revolving loan facility). The Credit Agreement matures on November&#160;3, 2027. We have been using the proceeds to fund the growth of our business and support our working capital requirements.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Under the agreement, we may elect whether amounts drawn bear interest on the outstanding principal amount at a rate per annum equal to either (a) the higher of the Prime rate or the Federal Funds Effective rate (&#x201c;Base Rate&#x201d;) plus 0.5% or (b) the forward-looking term rate based on the secured overnight financing rate (&#x201c;Term SOFR&#x201d;). An additional interest rate margin is added to the elected interest rates. Our interest rate margin ranges from 0.5% to 2.5% in the case of Base Rate advances and from 1.5% to 3.5% in the case of Term SOFR advances, depending on our debt to consolidated adjusted EBITDA leverage ratio as defined in the Credit Agreement. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In addition, the Credit Agreement contains other customary representations, warranties, and covenants, including covenants by us limiting additional indebtedness, guarantees, liens, fundamental changes, mergers and consolidations, dispositions of assets, investments, paying dividends on capital stock or redeeming, repurchasing, or retiring capital stock, prepaying certain junior indebtedness and preferred stock, certain corporate changes, and transactions with affiliates. The Credit Agreement also provides for customary events of default, including but not limited to, non-payment, breaches, or defaults in the performance of covenants, insolvency, bankruptcy, and the occurrence of a material adverse effect on us. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On August&#160;5, 2026, we entered into a new Senior Secured Credit Agreement providing for aggregate commitments of $300.0 million, consisting of a $240.0 million revolving credit facility and a $60.0 million term loan facility. The proceeds from the new facility, which matures on August&#160;5, 2031, were used to refinance the Company&#x2019;s existing indebtedness and will provide ongoing liquidity for working capital requirements, general corporate purposes, and other strategic initiatives. In connection with closing, we reduced our cash balance by $36.6 million to reduce our indebtedness. As of August&#160;5, 2026, we had used borrowing capacity of $140.0&#160;million under our $240.0&#160;million revolving credit facility and had $60.0&#160;million outstanding on the term loan facility.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The foregoing description of the new Senior Secured Credit Agreement does not purport to be complete and is qualified in its entirety by reference to the full text of the new Senior Secured Credit Agreement, to be filed as an exhibit to our Quarterly Report on Form 10-Q for the quarter ending September&#160;30, 2026.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes outstanding debt balances (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:73.461%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.329%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;As of&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30, 2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Borrowings under revolving credit facility&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;62,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;62,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Secured term loan facility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;174,563&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;179,563&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Less: Debt issuance costs&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline"&gt; (1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(536)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(737)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total debt, net of debt issuance costs&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2.62pt 7pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;236,027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2.62pt 7pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;240,826&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Debt, current&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 7pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;9,598&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 7pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;9,598&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Long-term debt &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 7pt 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;226,429&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 7pt 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;231,228&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total debt&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 7pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;236,027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 7pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;240,826&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(1) &lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:8pt;font-weight:400;line-height:120%"&gt;Deferred debt issuance costs associated with the term loan facility are recorded net of the debt obligation and amortized to interest expense over the term of the Credit Agreement. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of June&#160;30, 2026, we were in compliance with all covenants contained in the Credit Agreement. In addition, we had $62.0 million outstanding under our $100.0 million revolving credit facility, and we had outstanding letters of credit totaling $7.8 million in connection with securing leased office spaces.&lt;/span&gt;&lt;/div&gt;</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:DebtInstrumentTerm contextRef="c-116" id="f-633">P5Y</us-gaap:DebtInstrumentTerm>
    <us-gaap:DebtInstrumentFaceAmount contextRef="c-117" decimals="-5" id="f-634" unitRef="usd">200000000.0</us-gaap:DebtInstrumentFaceAmount>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="c-118" decimals="-5" id="f-635" unitRef="usd">100000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="c-119" decimals="-5" id="f-636" unitRef="usd">20000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="c-120" decimals="-5" id="f-637" unitRef="usd">10000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="c-116"
      decimals="INF"
      id="f-638"
      unitRef="number">0.005</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="c-121"
      decimals="INF"
      id="f-639"
      unitRef="number">0.005</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="c-122"
      decimals="INF"
      id="f-640"
      unitRef="number">0.025</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="c-123"
      decimals="INF"
      id="f-641"
      unitRef="number">0.015</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="c-124"
      decimals="INF"
      id="f-642"
      unitRef="number">0.035</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="c-125" decimals="-5" id="f-643" unitRef="usd">300000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="c-126" decimals="-5" id="f-644" unitRef="usd">240000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="c-127" decimals="-5" id="f-645" unitRef="usd">60000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:RepaymentsOfLongTermDebt contextRef="c-128" decimals="-5" id="f-646" unitRef="usd">36600000</us-gaap:RepaymentsOfLongTermDebt>
    <us-gaap:ProceedsFromLongTermLinesOfCredit contextRef="c-129" decimals="-5" id="f-647" unitRef="usd">140000000.0</us-gaap:ProceedsFromLongTermLinesOfCredit>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="c-126" decimals="-5" id="f-648" unitRef="usd">240000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LongTermDebt contextRef="c-127" decimals="-5" id="f-649" unitRef="usd">60000000.0</us-gaap:LongTermDebt>
    <us-gaap:ScheduleOfDebtInstrumentsTextBlock contextRef="c-1" id="f-650">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes outstanding debt balances (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:73.461%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.329%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;As of&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;June 30, 2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;December 31, 2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Borrowings under revolving credit facility&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;62,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;62,000&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Secured term loan facility&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;174,563&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;179,563&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Less: Debt issuance costs&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:5.85pt;font-weight:400;line-height:100%;position:relative;top:-3.15pt;vertical-align:baseline"&gt; (1)&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(536)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(737)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total debt, net of debt issuance costs&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2.62pt 7pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;236,027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2.62pt 7pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;240,826&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="height:14pt"&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:3pt double #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Debt, current&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 7pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;9,598&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 7pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;9,598&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Long-term debt &lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 7pt 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;226,429&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 7pt 1.5pt 1pt;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;231,228&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total debt&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 7pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;236,027&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 7pt 1.5pt 0;text-align:right;vertical-align:top"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;240,826&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:5.2pt;font-weight:400;line-height:120%;position:relative;top:-2.8pt;vertical-align:baseline"&gt;(1) &lt;/span&gt;Deferred debt issuance costs associated with the term loan facility are recorded net of the debt obligation and amortized to interest expense over the term of the Credit Agreement.</us-gaap:ScheduleOfDebtInstrumentsTextBlock>
    <us-gaap:DebtInstrumentCarryingAmount contextRef="c-118" decimals="-3" id="f-651" unitRef="usd">62000000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount contextRef="c-130" decimals="-3" id="f-652" unitRef="usd">62000000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount contextRef="c-117" decimals="-3" id="f-653" unitRef="usd">174563000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DebtInstrumentCarryingAmount contextRef="c-131" decimals="-3" id="f-654" unitRef="usd">179563000</us-gaap:DebtInstrumentCarryingAmount>
    <us-gaap:DeferredFinanceCostsNet contextRef="c-4" decimals="-3" id="f-655" unitRef="usd">536000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:DeferredFinanceCostsNet contextRef="c-5" decimals="-3" id="f-656" unitRef="usd">737000</us-gaap:DeferredFinanceCostsNet>
    <us-gaap:LongTermDebt contextRef="c-4" decimals="-3" id="f-657" unitRef="usd">236027000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt contextRef="c-5" decimals="-3" id="f-658" unitRef="usd">240826000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebtCurrent contextRef="c-4" decimals="-3" id="f-659" unitRef="usd">9598000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtCurrent contextRef="c-5" decimals="-3" id="f-660" unitRef="usd">9598000</us-gaap:LongTermDebtCurrent>
    <us-gaap:LongTermDebtNoncurrent contextRef="c-4" decimals="-3" id="f-661" unitRef="usd">226429000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebtNoncurrent contextRef="c-5" decimals="-3" id="f-662" unitRef="usd">231228000</us-gaap:LongTermDebtNoncurrent>
    <us-gaap:LongTermDebt contextRef="c-4" decimals="-3" id="f-663" unitRef="usd">236027000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt contextRef="c-5" decimals="-3" id="f-664" unitRef="usd">240826000</us-gaap:LongTermDebt>
    <us-gaap:LongTermDebt contextRef="c-118" decimals="-5" id="f-665" unitRef="usd">62000000.0</us-gaap:LongTermDebt>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity contextRef="c-118" decimals="-5" id="f-666" unitRef="usd">100000000.0</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:LettersOfCreditOutstandingAmount contextRef="c-4" decimals="-5" id="f-667" unitRef="usd">7800000</us-gaap:LettersOfCreditOutstandingAmount>
    <us-gaap:IncomeTaxDisclosureTextBlock contextRef="c-1" id="f-668">&lt;div style="-sec-extract:summary"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;9. Income Taxes&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The provision for income taxes is based upon the estimated annual effective tax rates for the year applied to the current period income before tax plus the tax effect of any significant or unusual items, discrete events, or changes in tax law. Our operating subsidiaries are exposed to statutory effective tax rates ranging from zero to approximately 35%. Fluctuations in the distribution of pre-tax income among our operating subsidiaries can lead to fluctuations of the effective tax rate in the consolidated financial statements. For the three and six months ended June&#160;30, 2026, the actual effective tax rates were (17.6)% and (21.5)%, respectively. For the three and six months ended June&#160;30, 2025, the actual effective tax rates were 124.7% and 280.5%, respectively. The change in the effective tax rates for each period as compared to the same period in the prior year was primarily due to a net loss position in 2026, compared to a breakeven position in 2025.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;As of June&#160;30, 2026, our net unrecognized tax benefits totaled $8.8 million, which if recognized would result in no net effect on the effective tax rate due to a valuation allowance. The amount of reasonably possible unrecognized tax benefits that could decrease over the next 12 months due to the expiration of certain statutes of limitations or settlements of tax audits is not material to our consolidated financial statements.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We file income tax returns in the U.S. federal jurisdiction and in various state and foreign jurisdictions. Due to our net operating loss carryforwards, the tax years 2016 through 2026 remain open to examination by the major taxing jurisdictions to which we are subject. There are no open examinations that would have a meaningful impact on our consolidated financial statements.&lt;/span&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c-132" decimals="2" id="f-669" unitRef="number">0</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c-133" decimals="2" id="f-670" unitRef="number">0.35</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c-18" decimals="3" id="f-671" unitRef="number">-0.176</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c-1" decimals="3" id="f-672" unitRef="number">-0.215</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c-19" decimals="3" id="f-673" unitRef="number">1.247</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="c-20" decimals="3" id="f-674" unitRef="number">2.805</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate contextRef="c-4" decimals="-5" id="f-675" unitRef="usd">8800000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="c-1" id="f-676">&lt;div style="-sec-extract:summary"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;10. Stock-Based Compensation&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Compensation expense related to stock-based awards is accounted for using the estimated fair value of the award on the grant date. We calculate the fair value of stock options containing only a service condition using the Black-Scholes option pricing model. The fair value of restricted stock units (&#x201c;RSUs&#x201d;) is based on the closing market price of our common stock on the Nasdaq Global Market on the date of grant. For service-based awards such as RSUs, stock-based compensation expense is recognized on a straight-line basis over the requisite service period. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In June 2022, our Board of Directors granted to our Chief Executive Officer (&#x201c;CEO&#x201d;) a stock option award that is eligible to vest based on the achievement of various stock price appreciation targets. This option grant (the &#x201c;2022 CEO option grant&#x201d;) is our only outstanding stock-based award that vests based on the achievement of market conditions. For awards with market-based conditions, compensation expense is measured using a Monte Carlo simulation, and expense is recognized using the accelerated attribution method over the derived service period based on the expected market performance as of the grant date. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We account for forfeitures of our stock-based awards as they occur rather than estimating expected forfeitures. As of June&#160;30, 2026, the total compensation cost related to unvested stock options not yet recognized, which relates exclusively to the 2022 CEO option grant, was $0.1 million and will be recognized over a weighted average period of 0.1 years. Total unrecognized compensation cost related to unvested RSUs was approximately $46.9 million, which will be recognized over a weighted average period of 1.7 years.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our annual bonus program provides eligible employees with the option to receive all or a portion of their earned annual bonuses, otherwise payable in cash, in the form of RSUs. The RSUs are granted by our Board of Directors during the first quarter of the following year and are fully vested upon grant. The portion of the annual bonus to be paid in the form of RSUs is recorded as stock-based compensation expense while the related obligations are recorded as liabilities in the &#x2018;Accrued compensation and related benefits&#x2019; line item on our consolidated balance sheets. During the three and six months ended June&#160;30, 2026, we recognized $2.1 million and $4.9 million of stock-based compensation related to this program, respectively. During the three and six months ended June&#160;30, 2025, we recognized $1.7 million and $2.9 million of stock-based compensation related to this program, respectively.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the components of our stock-based compensation expense for the three and six months ended June&#160;30, 2026 and 2025 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:44.514%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.788%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.788%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.332%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cost of revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 13pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;497&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;418&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,056&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;916&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 13pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Professional services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,520&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,158&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,856&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Operating expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 13pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Sales and marketing&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,963&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,087&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,366&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,333&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 13pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Research and development&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,382&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,357&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,371&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 13pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;General and administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,198&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,431&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,752&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,256&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total stock-based compensation expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,560&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,693&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;22,449&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;20,732&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy contextRef="c-1" id="f-677">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Compensation expense related to stock-based awards is accounted for using the estimated fair value of the award on the grant date. We calculate the fair value of stock options containing only a service condition using the Black-Scholes option pricing model. The fair value of restricted stock units (&#x201c;RSUs&#x201d;) is based on the closing market price of our common stock on the Nasdaq Global Market on the date of grant. For service-based awards such as RSUs, stock-based compensation expense is recognized on a straight-line basis over the requisite service period. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;In June 2022, our Board of Directors granted to our Chief Executive Officer (&#x201c;CEO&#x201d;) a stock option award that is eligible to vest based on the achievement of various stock price appreciation targets. This option grant (the &#x201c;2022 CEO option grant&#x201d;) is our only outstanding stock-based award that vests based on the achievement of market conditions. For awards with market-based conditions, compensation expense is measured using a Monte Carlo simulation, and expense is recognized using the accelerated attribution method over the derived service period based on the expected market performance as of the grant date. &lt;/span&gt;&lt;/div&gt;We account for forfeitures of our stock-based awards as they occur rather than estimating expected forfeitures.</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="c-134" decimals="-5" id="f-678" unitRef="usd">100000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="c-135" id="f-679">P0Y1M6D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="c-136" decimals="-5" id="f-680" unitRef="usd">46900000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
    <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 contextRef="c-137" id="f-681">P1Y8M12D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-138" decimals="-5" id="f-682" unitRef="usd">2100000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-137" decimals="-5" id="f-683" unitRef="usd">4900000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-139" decimals="-5" id="f-684" unitRef="usd">1700000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-140" decimals="-5" id="f-685" unitRef="usd">2900000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock contextRef="c-1" id="f-686">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes the components of our stock-based compensation expense for the three and six months ended June&#160;30, 2026 and 2025 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:44.514%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.788%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.788%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.332%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cost of revenue&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 13pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Subscriptions&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;497&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;418&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,056&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;916&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 13pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Professional services&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,520&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,400&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,158&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,856&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Operating expenses&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 13pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Sales and marketing&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,963&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,087&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,366&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,333&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 13pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Research and development&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,382&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,357&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;7,117&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,371&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 13pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;General and administrative&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,198&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;3,431&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,752&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,256&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total stock-based compensation expense&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,560&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,693&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;22,449&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;20,732&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000000;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-141" decimals="-3" id="f-687" unitRef="usd">497000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-142" decimals="-3" id="f-688" unitRef="usd">418000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-143" decimals="-3" id="f-689" unitRef="usd">1056000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-144" decimals="-3" id="f-690" unitRef="usd">916000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-145" decimals="-3" id="f-691" unitRef="usd">1520000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-146" decimals="-3" id="f-692" unitRef="usd">1400000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-147" decimals="-3" id="f-693" unitRef="usd">3158000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-148" decimals="-3" id="f-694" unitRef="usd">2856000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-149" decimals="-3" id="f-695" unitRef="usd">1963000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-150" decimals="-3" id="f-696" unitRef="usd">2087000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-151" decimals="-3" id="f-697" unitRef="usd">4366000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-152" decimals="-3" id="f-698" unitRef="usd">4333000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-153" decimals="-3" id="f-699" unitRef="usd">3382000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-154" decimals="-3" id="f-700" unitRef="usd">3357000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-155" decimals="-3" id="f-701" unitRef="usd">7117000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-156" decimals="-3" id="f-702" unitRef="usd">6371000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-157" decimals="-3" id="f-703" unitRef="usd">3198000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-158" decimals="-3" id="f-704" unitRef="usd">3431000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-159" decimals="-3" id="f-705" unitRef="usd">6752000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-160" decimals="-3" id="f-706" unitRef="usd">6256000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-18" decimals="-3" id="f-707" unitRef="usd">10560000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-19" decimals="-3" id="f-708" unitRef="usd">10693000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-1" decimals="-3" id="f-709" unitRef="usd">22449000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:AllocatedShareBasedCompensationExpense contextRef="c-20" decimals="-3" id="f-710" unitRef="usd">20732000</us-gaap:AllocatedShareBasedCompensationExpense>
    <us-gaap:EarningsPerShareTextBlock contextRef="c-1" id="f-711">&lt;div style="-sec-extract:summary"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;11. Basic and Diluted Loss per Common Share&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Basic loss per share is computed by dividing net loss by the weighted average number of common shares outstanding during the reporting period. Diluted loss per share is computed similar to basic, except the weighted average number of common shares outstanding is increased to include additional outstanding shares from the assumed exercise of stock options and vesting of stock awards, if dilutive. The dilutive effect, if any, of convertible shares is calculated using the treasury stock method. As we reported net losses for all periods presented, all outstanding shares would be considered antidilutive if they were to be assumed as vested or exercised. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following outstanding securities, prior to the use of the treasury stock method, have been excluded from the computation of diluted weighted-average shares outstanding for the respective periods below because they would have been antidilutive to loss per share:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:63.227%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.443%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.446%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three and six months ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Stock options&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;862,331&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,005,696&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Non-vested restricted stock units&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,335,627&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,401,959&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock contextRef="c-1" id="f-712">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following outstanding securities, prior to the use of the treasury stock method, have been excluded from the computation of diluted weighted-average shares outstanding for the respective periods below because they would have been antidilutive to loss per share:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:63.227%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.443%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:16.446%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three and six months ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Stock options&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;862,331&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,005,696&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Non-vested restricted stock units&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;2,335,627&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;1,401,959&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="c-161" decimals="0" id="f-713" unitRef="shares">862331</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="c-162" decimals="0" id="f-714" unitRef="shares">862331</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="c-163" decimals="0" id="f-715" unitRef="shares">1005696</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="c-164" decimals="0" id="f-716" unitRef="shares">1005696</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="c-165" decimals="0" id="f-717" unitRef="shares">2335627</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="c-166" decimals="0" id="f-718" unitRef="shares">2335627</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="c-167" decimals="0" id="f-719" unitRef="shares">1401959</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="c-168" decimals="0" id="f-720" unitRef="shares">1401959</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:CommitmentsAndContingenciesDisclosureTextBlock contextRef="c-1" id="f-721">&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;12. Commitments, Contingencies, and Other Matters&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Minimum Purchase Commitments&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have a non-cancellable cloud hosting arrangement with Amazon Web Services (&#x201c;AWS&#x201d;) that contains provisions for minimum purchase commitments. Specifically, purchase commitments under the agreement total $220.0 million over five years. The agreement, which originated in July 2021 and was amended in October 2024, currently contains minimum annual spending requirements of $44.0 million from November 2024 to October 2029. Spending under this agreement for the three and six months ended June&#160;30, 2026 totaled $17.2 million and $33.4 million, respectively. Spending under this agreement for the three and six months ended June&#160;30, 2025 totaled $12.9 million and $23.3 million, respectively. The timing of payments under the agreement may vary, but we expect to meet our minimum annual spending requirement during the term of the arrangement.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Pegasystems Litigation&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Trade Secrets Case&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On May&#160;29, 2020, we filed a civil complaint against Pegasystems, Inc. (&#x201c;Pegasystems&#x201d;) and Youyong Zou, a Virginia resident, in the Circuit Court for Fairfax County, Virginia. &lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Appian Corp v. Pegasystems Inc. &amp;amp; Youyong Zou, No. 2020-07216 (Fairfax Cty. Ct.).&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; On May&#160;10, 2022, we announced the jury awarded us $2.036 billion in damages for misappropriation of our trade secrets and $1 in damages for violating the Virginia Computer Crimes Act. Pegasystems filed several post-trial motions seeking relief in the form of reducing the damages award or setting aside the jury&#x2019;s verdict and either granting a new trial or entering judgment in Pegasystems&#x2019; favor. All of these motions were denied, and final judgment was entered by the Court on September 15, 2022. The final judgment reaffirmed the $2.036 billion in damages and also ordered Pegasystems to pay Appian $23.6 million in attorney's fees associated with the case as well as statutory post-judgment interest on the judgment at an annual rate of 6%, or approximately $122.0 million per year.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Defendant Youyong Zou has satisfied the judgment of $5,000 (plus interest) against him in lieu of appealing that judgment. On September 15, 2022, Pegasystems filed a notice of appeal to the Court of Appeals of Virginia. On July 30, 2024, the Court of Appeals of Virginia issued a decision reversing the judgment against Pegasystems and remanding the case for a new trial. The decision rejected Pegasystems&#x2019; argument that Appian had not presented evidence that trade secrets were misappropriated but reversed the judgment on the basis of evidentiary and damages rulings made by the trial court. On August 29, 2024, Appian submitted a petition to the Supreme Court of Virginia seeking to reverse the Court of Appeals decision and reinstate the full judgment against Pegasystems. Pegasystems filed an opposition to the petition and cross-issues for appeal on October 21, 2024. Appian's petition was heard on February 11, 2025. On January 6, 2026, the Supreme Court of Virginia issued an opinion affirming the opinion rendered by the Court of Appeals on both sides and remanding the case for a retrial. On May 7, 2026, the Circuit Court set the retrial to begin on January 11, 2027. We cannot predict the outcome of any further appeals or any retrial or the exact time it will take to resolve them.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Judgment Preservation Insurance&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On September&#160;1, 2023, we obtained a judgment preservation insurance (&#x201c;JPI&#x201d;) policy in connection with our $2.036 billion judgment against Pegasystems. The total cost of the policy was $57.3 million and is comprised of the premium, a one-time broker fee, and Virginia lines tax. The policy provides up to $500.0 million of coverage. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The total cost of the policy was capitalized and is being amortized on a straight-line basis over the estimated period to obtain a final and unappealable judgment. Amortization expense associated with the JPI premium is recorded to general and administrative expenses in our consolidated statements of operations. JPI amortization expense was $2.0 million and $4.0 million for the three and six months ended June&#160;30, 2026, respectively. JPI amortization expense was $3.1 million and $6.2 million for the three and six months ended June&#160;30, 2025, respectively. As of June&#160;30, 2026, $6.9 million of the unamortized balance is classified as &#x2018;Prepaid expenses and other current assets&#x2019; while the remaining $12.0 million is classified as 'Other assets&#x2019; on our consolidated balance sheets. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Defamation Case&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On August 2, 2023, Pegasystems filed a complaint against the Company in the U.S. District Court for the District of Massachusetts. &lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%"&gt;Pegasystems Inc. v. Appian Corporation, 1:23-cv-11776-LTS (D. Mass.)&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;. The complaint asserts claims for defamation, trade libel, and violations of the Lanham Act, 15 U.S.C. &#xa7; 1125(a). On February 20, 2024, the Company answered the complaint, asserted counterclaims against Pegasystems for defamation, trade libel, violations of the Lanham Act, 15 U.S.C. &#xa7; 1125(a), and violations of Mass. Gen. Laws ch. 93A &#xa7;&#xa7; 2 and 11 and sought a declaratory judgment that Pegasystems was not entitled to the recovery sought in its claims.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The parties exchanged opening expert reports in March 2026. Pegasystems claims up to $41.9&#160;million in damages resulting from its claims, while the Company claims up to $109.5&#160;million in damages from competitive situations related to the counterclaims and up to $2.33&#160;billion in damages from Pegasystems' total profits derived from the conduct at issue in the counterclaims. A hearing on summary judgment motions was held on July 24, 2026 and a jury trial is currently scheduled for November 2026. While the Company believes strongly in its claims and defenses, we are unable to reasonably estimate the likelihood of success for either party or the range of any possible gain or loss to the Company given the uncertainty as to the likelihood, amount, and timing of any potential gain or loss related to our counterclaims or Pegasystems&#x2019; claims.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:36pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Other Legal Matters&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;From time to time, we are subject to legal, regulatory, and other proceedings and claims that arise in the ordinary course of business. Other than as disclosed elsewhere in this Quarterly Report, we are not presently a party to any legal proceedings that, if determined adversely to us, would individually or taken together have a material adverse effect on our business, operating results, financial condition, or cash flows. Regardless of the outcome, litigation can have an adverse impact on us because of defense and settlement costs, diversion of management resources, and other factors.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Share Repurchase Program&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;On February&#160;17, 2026, the Board of Directors authorized a program to repurchase up to $50.0 million of our common stock (the &#x201c;Share Repurchase Program&#x201d;), effective February 2026 through February 2028. On May&#160;5, 2026, the Board of Directors approved an additional $50.0&#160;million for the Share Repurchase Program, bringing the total aggregate authorization under the program to $100.0&#160;million. All other terms and conditions of the Share Repurchase Program remain unchanged. In the second quarter of 2026, we repurchased 1.8&#160;million shares under this program at an average share price of $23.75, totaling an aggregate cost of $43.9&#160;million. As of June&#160;30, 2026, shareholders&#x2019; equity included 71.8&#160;million shares outstanding, net of 2.8&#160;million shares of common stock held in treasury.&lt;/span&gt;&lt;/div&gt;</us-gaap:CommitmentsAndContingenciesDisclosureTextBlock>
    <us-gaap:PurchaseObligation contextRef="c-169" decimals="-5" id="f-722" unitRef="usd">220000000.0</us-gaap:PurchaseObligation>
    <us-gaap:LongtermPurchaseCommitmentPeriod contextRef="c-170" id="f-723">P5Y</us-gaap:LongtermPurchaseCommitmentPeriod>
    <us-gaap:PurchaseObligationDueInSecondYear contextRef="c-169" decimals="-5" id="f-724" unitRef="usd">44000000.0</us-gaap:PurchaseObligationDueInSecondYear>
    <us-gaap:PurchaseObligationDueInThirdYear contextRef="c-169" decimals="-5" id="f-725" unitRef="usd">44000000.0</us-gaap:PurchaseObligationDueInThirdYear>
    <us-gaap:PurchaseObligationDueInNextTwelveMonths contextRef="c-169" decimals="-5" id="f-726" unitRef="usd">44000000.0</us-gaap:PurchaseObligationDueInNextTwelveMonths>
    <us-gaap:PurchaseObligationDueInFourthYear contextRef="c-169" decimals="-5" id="f-727" unitRef="usd">44000000.0</us-gaap:PurchaseObligationDueInFourthYear>
    <us-gaap:PurchaseObligationDueInFifthYear contextRef="c-169" decimals="-5" id="f-728" unitRef="usd">44000000.0</us-gaap:PurchaseObligationDueInFifthYear>
    <appn:PaymentsForPurchaseObligation contextRef="c-18" decimals="-5" id="f-729" unitRef="usd">17200000</appn:PaymentsForPurchaseObligation>
    <appn:PaymentsForPurchaseObligation contextRef="c-1" decimals="-5" id="f-730" unitRef="usd">33400000</appn:PaymentsForPurchaseObligation>
    <appn:PaymentsForPurchaseObligation contextRef="c-19" decimals="-5" id="f-731" unitRef="usd">12900000</appn:PaymentsForPurchaseObligation>
    <appn:PaymentsForPurchaseObligation contextRef="c-20" decimals="-5" id="f-732" unitRef="usd">23300000</appn:PaymentsForPurchaseObligation>
    <us-gaap:LitigationSettlementAmountAwardedFromOtherParty contextRef="c-171" decimals="-6" id="f-733" unitRef="usd">2036000000.000</us-gaap:LitigationSettlementAmountAwardedFromOtherParty>
    <us-gaap:LitigationSettlementAmountAwardedFromOtherParty contextRef="c-172" decimals="0" id="f-734" unitRef="usd">1</us-gaap:LitigationSettlementAmountAwardedFromOtherParty>
    <us-gaap:LitigationSettlementAmountAwardedFromOtherParty contextRef="c-171" decimals="-6" id="f-735" unitRef="usd">2036000000.000</us-gaap:LitigationSettlementAmountAwardedFromOtherParty>
    <us-gaap:LitigationSettlementAmountAwardedFromOtherParty contextRef="c-173" decimals="-5" id="f-736" unitRef="usd">23600000</us-gaap:LitigationSettlementAmountAwardedFromOtherParty>
    <appn:GainContingencyDamagesAwardedInterestPercentage
      contextRef="c-174"
      decimals="INF"
      id="f-737"
      unitRef="number">0.06</appn:GainContingencyDamagesAwardedInterestPercentage>
    <us-gaap:LitigationSettlementAmountAwardedFromOtherParty contextRef="c-174" decimals="-5" id="f-738" unitRef="usd">122000000.0</us-gaap:LitigationSettlementAmountAwardedFromOtherParty>
    <us-gaap:LitigationSettlementAmountAwardedFromOtherParty contextRef="c-175" decimals="-3" id="f-739" unitRef="usd">5000000</us-gaap:LitigationSettlementAmountAwardedFromOtherParty>
    <us-gaap:LitigationSettlementAmountAwardedFromOtherParty contextRef="c-171" decimals="-6" id="f-740" unitRef="usd">2036000000.000</us-gaap:LitigationSettlementAmountAwardedFromOtherParty>
    <appn:LitigationJudgmentPreservationInsuranceCost contextRef="c-176" decimals="-5" id="f-741" unitRef="usd">57300000</appn:LitigationJudgmentPreservationInsuranceCost>
    <appn:JudgmentPreservationInsuranceThresholdAmount contextRef="c-176" decimals="-5" id="f-742" unitRef="usd">500000000.0</appn:JudgmentPreservationInsuranceThresholdAmount>
    <appn:LitigationJudgmentPreservationInsuranceExpense contextRef="c-177" decimals="-5" id="f-743" unitRef="usd">2000000.0</appn:LitigationJudgmentPreservationInsuranceExpense>
    <appn:LitigationJudgmentPreservationInsuranceExpense contextRef="c-178" decimals="-5" id="f-744" unitRef="usd">4000000.0</appn:LitigationJudgmentPreservationInsuranceExpense>
    <appn:LitigationJudgmentPreservationInsuranceExpense contextRef="c-179" decimals="-5" id="f-745" unitRef="usd">3100000</appn:LitigationJudgmentPreservationInsuranceExpense>
    <appn:LitigationJudgmentPreservationInsuranceExpense contextRef="c-180" decimals="-5" id="f-746" unitRef="usd">6200000</appn:LitigationJudgmentPreservationInsuranceExpense>
    <appn:LitigationJudgmentPreservationInsuranceCurrent contextRef="c-181" decimals="-5" id="f-747" unitRef="usd">6900000</appn:LitigationJudgmentPreservationInsuranceCurrent>
    <appn:LitigationJudgmentPreservationInsuranceNoncurrent contextRef="c-181" decimals="-5" id="f-748" unitRef="usd">12000000.0</appn:LitigationJudgmentPreservationInsuranceNoncurrent>
    <us-gaap:LossContingencyDamagesSoughtValue contextRef="c-182" decimals="-5" id="f-749" unitRef="usd">41900000</us-gaap:LossContingencyDamagesSoughtValue>
    <us-gaap:GainContingencyUnrecordedAmount contextRef="c-183" decimals="-5" id="f-750" unitRef="usd">109500000</us-gaap:GainContingencyUnrecordedAmount>
    <us-gaap:GainContingencyUnrecordedAmount contextRef="c-184" decimals="-5" id="f-751" unitRef="usd">2330000000</us-gaap:GainContingencyUnrecordedAmount>
    <srt:StockRepurchaseProgramAuthorizedAmount1 contextRef="c-185" decimals="-5" id="f-752" unitRef="usd">50000000.0</srt:StockRepurchaseProgramAuthorizedAmount1>
    <appn:ShareRepurchaseProgramAdditionalAuthorizedAmount contextRef="c-186" decimals="-5" id="f-753" unitRef="usd">50000000.0</appn:ShareRepurchaseProgramAdditionalAuthorizedAmount>
    <srt:StockRepurchaseProgramAuthorizedAmount1 contextRef="c-186" decimals="-5" id="f-754" unitRef="usd">100000000.0</srt:StockRepurchaseProgramAuthorizedAmount1>
    <us-gaap:TreasuryStockSharesAcquired contextRef="c-18" decimals="-5" id="f-755" unitRef="shares">1800000</us-gaap:TreasuryStockSharesAcquired>
    <us-gaap:TreasuryStockAcquiredAverageCostPerShare
      contextRef="c-18"
      decimals="2"
      id="f-756"
      unitRef="usdPerShare">23.75</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
    <us-gaap:TreasuryStockValueAcquiredCostMethod contextRef="c-18" decimals="-5" id="f-757" unitRef="usd">43900000</us-gaap:TreasuryStockValueAcquiredCostMethod>
    <appn:CommonStockSharesIssuedNotDisclosed contextRef="c-4" id="f-758">true</appn:CommonStockSharesIssuedNotDisclosed>
    <us-gaap:CommonStockSharesOutstanding contextRef="c-4" decimals="-5" id="f-759" unitRef="shares">71800000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:TreasuryStockCommonShares contextRef="c-4" decimals="-5" id="f-760" unitRef="shares">2800000</us-gaap:TreasuryStockCommonShares>
    <us-gaap:SegmentReportingDisclosureTextBlock contextRef="c-1" id="f-761">&lt;div style="-sec-extract:summary"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;13. Segment and Geographic Information&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating segments are defined as components of an enterprise for which discrete financial information is available that is evaluated regularly by the chief operating decision maker (&#x201c;CODM&#x201d;) for purposes of allocating resources and evaluating financial performance. We have determined our CODM is our CEO.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have one operating and one reportable segment, representing our consolidated business that helps organizations design, automate, and optimize important business processes from start to finish. We generate revenue from customers primarily through the sale of cloud and other subscriptions bundled with maintenance and support as well as professional services revenue from fees for our consulting services and training related to our platform. Our reportable segment determination is based on our management and internal reporting structure, the nature of the subscriptions and services we offer, and the financial information evaluated regularly by our CODM.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The CODM uses operating loss and net loss reported on the consolidated statements of operations to assess performance for the segment and decide how to allocate resources. In addition, the CODM reviews the expense categories presented on the consolidated statements of operations to manage the Company&#x2019;s operations. Operating loss and net loss are used to evaluate profitability trends in the business, and the CODM considers budget-to-actual variances for both profit measures when making decisions about allocating capital and resources. Significant segment expenses, which are the expenses included in operating loss and net loss, as well as other segment items such as other expense (income), net and income tax expense are included in the consolidated statements of operations. The CODM does not review any significant segment expense information that differs from the expense presented in the consolidated statements of operations. Further, the measure of segment assets is total assets as reported on the consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes revenue by geography for the three and six months ended June&#160;30, 2026 and 2025 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:44.514%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.788%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.788%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.332%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Domestic&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;125,535&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;105,193&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;251,679&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;211,386&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;International&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;77,721&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;65,447&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;153,757&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;125,680&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;203,256&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;170,640&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;405,436&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;337,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;With respect to geographic information, revenue is attributed to respective geographies based on the contracting address of the customer. The value of our long-lived assets, which are comprised of property and equipment, intangible assets with finite lives, and right-of-use assets, held in the United States and internationally as of June&#160;30, 2026 were $47.5 million and $14.2 million, respectively. As of December&#160;31, 2025, our long-lived assets held in the United States and internationally were $49.0 million and $12.4 million, respectively.&lt;/span&gt;&lt;/div&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:SegmentReportingPolicyPolicyTextBlock contextRef="c-1" id="f-762">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Operating segments are defined as components of an enterprise for which discrete financial information is available that is evaluated regularly by the chief operating decision maker (&#x201c;CODM&#x201d;) for purposes of allocating resources and evaluating financial performance. We have determined our CODM is our CEO.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We have one operating and one reportable segment, representing our consolidated business that helps organizations design, automate, and optimize important business processes from start to finish. We generate revenue from customers primarily through the sale of cloud and other subscriptions bundled with maintenance and support as well as professional services revenue from fees for our consulting services and training related to our platform. Our reportable segment determination is based on our management and internal reporting structure, the nature of the subscriptions and services we offer, and the financial information evaluated regularly by our CODM.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The CODM uses operating loss and net loss reported on the consolidated statements of operations to assess performance for the segment and decide how to allocate resources. In addition, the CODM reviews the expense categories presented on the consolidated statements of operations to manage the Company&#x2019;s operations. Operating loss and net loss are used to evaluate profitability trends in the business, and the CODM considers budget-to-actual variances for both profit measures when making decisions about allocating capital and resources. Significant segment expenses, which are the expenses included in operating loss and net loss, as well as other segment items such as other expense (income), net and income tax expense are included in the consolidated statements of operations. The CODM does not review any significant segment expense information that differs from the expense presented in the consolidated statements of operations. Further, the measure of segment assets is total assets as reported on the consolidated balance sheets.&lt;/span&gt;&lt;/div&gt;</us-gaap:SegmentReportingPolicyPolicyTextBlock>
    <us-gaap:NumberOfOperatingSegments
      contextRef="c-1"
      decimals="INF"
      id="f-763"
      unitRef="segment">1</us-gaap:NumberOfOperatingSegments>
    <us-gaap:NumberOfReportableSegments
      contextRef="c-1"
      decimals="INF"
      id="f-764"
      unitRef="segment">1</us-gaap:NumberOfReportableSegments>
    <us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock contextRef="c-1" id="f-765">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The following table summarizes revenue by geography for the three and six months ended June&#160;30, 2026 and 2025 (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:44.514%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.788%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.788%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.332%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Three Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Six Months Ended June 30,&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2026&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;2025&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Domestic&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;125,535&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;105,193&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;251,679&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;211,386&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;International&lt;/span&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;77,721&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;65,447&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;153,757&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;125,680&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;203,256&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;170,640&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;405,436&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;337,066&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-187" decimals="-3" id="f-766" unitRef="usd">125535000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-188" decimals="-3" id="f-767" unitRef="usd">105193000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-189" decimals="-3" id="f-768" unitRef="usd">251679000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-190" decimals="-3" id="f-769" unitRef="usd">211386000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-191" decimals="-3" id="f-770" unitRef="usd">77721000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-192" decimals="-3" id="f-771" unitRef="usd">65447000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-193" decimals="-3" id="f-772" unitRef="usd">153757000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-194" decimals="-3" id="f-773" unitRef="usd">125680000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-18" decimals="-3" id="f-774" unitRef="usd">203256000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-19" decimals="-3" id="f-775" unitRef="usd">170640000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-1" decimals="-3" id="f-776" unitRef="usd">405436000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax contextRef="c-20" decimals="-3" id="f-777" unitRef="usd">337066000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:NoncurrentAssets contextRef="c-195" decimals="-5" id="f-778" unitRef="usd">47500000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets contextRef="c-196" decimals="-5" id="f-779" unitRef="usd">14200000</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets contextRef="c-197" decimals="-5" id="f-780" unitRef="usd">49000000.0</us-gaap:NoncurrentAssets>
    <us-gaap:NoncurrentAssets contextRef="c-198" decimals="-5" id="f-781" unitRef="usd">12400000</us-gaap:NoncurrentAssets>
    <us-gaap:FinancialInstrumentsDisclosureTextBlock contextRef="c-1" id="f-782">&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:700;line-height:120%"&gt;14. Investments and Fair Value Measurements&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Fair Value Measurements&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;U.S. GAAP establishes a three-tier fair value hierarchy to classify and disclose all assets and liabilities measured at fair value on a recurring basis, as well as assets and liabilities measured at fair value on a&#160;non-recurring&#160;basis, in periods subsequent to their initial measurement. The hierarchy requires us to use observable inputs when available and to minimize the use of unobservable inputs when determining fair value. The three tiers are defined as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:13.46pt"&gt;Level&#160;1 &lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;- Observable inputs based on unadjusted quoted prices in active markets for identical assets or liabilities;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:13.46pt"&gt;Level&#160;2 &lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;- Inputs, other than quoted prices in active markets, that are observable either directly or indirectly;&#160;and&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:13.46pt"&gt;Level&#160;3 &lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;- Unobservable inputs for which there is little or no market data and which require us to develop our own estimates and assumptions reflecting those that a market participant would use.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The asset or liability&#x2019;s fair value measurement level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement. Valuation techniques maximize the use of relevant observable inputs and minimize the use of unobservable inputs. There were no instruments measured at fair value on a recurring basis using significant unobservable inputs as of June&#160;30, 2026 and December&#160;31, 2025.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The valuation techniques that may be used to measure fair value are as follows: &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:13.46pt"&gt;Market approach&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; - Uses prices and other relevant information generated by market transactions involving identical or comparable assets or liabilities; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:13.46pt"&gt;Income approach&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; - Uses valuation techniques to convert future amounts to a single present amount based on current market expectations about those future amounts; and&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:13.46pt"&gt;Cost approach &lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;- Based on the amount that currently would be required to replace the service capacity of an asset (i.e., replacement cost).&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The carrying amounts of our accounts receivable, accounts payable, and accrued expenses approximate fair value as of June&#160;30, 2026 and December&#160;31, 2025 because of the relatively short duration of these instruments. Additionally, the carrying value of our debt associated with the term loan facility approximates fair value because the interest rates are variable and reset on relatively short durations to the current market rates.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Investments&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;Our investment portfolio consists largely of debt investments classified as available-for-sale. Changes in the fair value of available-for-sale securities, excluding other-than-temporary impairments, have been recorded in &#x2018;Accumulated other comprehensive loss&#x2019; in our consolidated balance sheets. The components of our cash, cash equivalents, and investments as of June&#160;30, 2026 are as follows (in thousands): &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:19.221%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.204%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.204%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.204%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.210%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="33" style="border-bottom:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;As of June&#160;30, 2026&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Fair Value Measurement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Balance Sheet Classification&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Fair Value Level&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Cost Basis&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrealized Losses&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Fair Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Cash and Cash Equivalents&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Short-Term Investments and Marketable Securities&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cash&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;110,660&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;110,660&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;110,660&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Money market fund&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,451&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,451&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,451&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;U.S. Treasury bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;28,418&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(57)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;28,361&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;28,361&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,250&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(3)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,247&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,247&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Corporate bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;14,175&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(28)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;14,147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;14,147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 7pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total investments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;167,954&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(88)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;167,866&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;121,111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;46,755&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December&#160;31, 2025, our investments consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:18.052%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.204%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.204%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.204%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.941%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="33" style="border-bottom:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;As of December&#160;31, 2025&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Fair Value Measurement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Balance Sheet Classification&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Fair Value Level&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Cost Basis&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrealized Gains&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Fair Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Cash and Cash Equivalents&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Short-Term Investments and Marketable Securities&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cash&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;118,297&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;118,297&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;118,297&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Money market fund&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;17,513&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;17,513&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;17,513&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;U.S. Treasury bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;26,627&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;26,649&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;26,649&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,151&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,151&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;18,599&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;18,615&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;18,615&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 7pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total investments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;187,183&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;42&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;187,225&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;135,810&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;51,415&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;We did not hold any Level 3 assets at any point during the three and six months ended June&#160;30, 2026. Additionally, there were no transfers between Levels 1 and 2 during the six months ended June 30, 2026. Interest income on our investments, which is recorded within &#x2018;Other expense (income), net&#x2019; on our consolidated statements of operations, totaled $1.5 million and $3.0 million for the three and six months ended June&#160;30, 2026, respectively. Interest income on our investments totaled $2.0 million and $3.6 million for the three and six months ended June&#160;30, 2025, respectively. &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The contractual maturities of our debt securities as of June&#160;30, 2026 and December&#160;31, 2025 were all one year or less. Actual maturities may differ from contractual maturities because borrowers have the right to call or prepay certain obligations.&lt;/span&gt;&lt;/div&gt;</us-gaap:FinancialInstrumentsDisclosureTextBlock>
    <us-gaap:FairValueMeasurementPolicyPolicyTextBlock contextRef="c-1" id="f-783">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Fair Value Measurements&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;U.S. GAAP establishes a three-tier fair value hierarchy to classify and disclose all assets and liabilities measured at fair value on a recurring basis, as well as assets and liabilities measured at fair value on a&#160;non-recurring&#160;basis, in periods subsequent to their initial measurement. The hierarchy requires us to use observable inputs when available and to minimize the use of unobservable inputs when determining fair value. The three tiers are defined as follows:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:13.46pt"&gt;Level&#160;1 &lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;- Observable inputs based on unadjusted quoted prices in active markets for identical assets or liabilities;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:13.46pt"&gt;Level&#160;2 &lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;- Inputs, other than quoted prices in active markets, that are observable either directly or indirectly;&#160;and&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:13.46pt"&gt;Level&#160;3 &lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;- Unobservable inputs for which there is little or no market data and which require us to develop our own estimates and assumptions reflecting those that a market participant would use.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The asset or liability&#x2019;s fair value measurement level within the fair value hierarchy is based on the lowest level of any input that is significant to the fair value measurement. Valuation techniques maximize the use of relevant observable inputs and minimize the use of unobservable inputs. There were no instruments measured at fair value on a recurring basis using significant unobservable inputs as of June&#160;30, 2026 and December&#160;31, 2025.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;The valuation techniques that may be used to measure fair value are as follows: &lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:13.46pt"&gt;Market approach&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; - Uses prices and other relevant information generated by market transactions involving identical or comparable assets or liabilities; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:13.46pt"&gt;Income approach&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt; - Uses valuation techniques to convert future amounts to a single present amount based on current market expectations about those future amounts; and&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="padding-left:36pt;text-indent:-18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;&#x2022;&lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:700;line-height:120%;padding-left:13.46pt"&gt;Cost approach &lt;/span&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;- Based on the amount that currently would be required to replace the service capacity of an asset (i.e., replacement cost).&lt;/span&gt;&lt;/div&gt;</us-gaap:FairValueMeasurementPolicyPolicyTextBlock>
    <us-gaap:FairValueOfFinancialInstrumentsPolicy contextRef="c-1" id="f-784">&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%"&gt;Investments&lt;/span&gt;&lt;/div&gt;Our investment portfolio consists largely of debt investments classified as available-for-sale. Changes in the fair value of available-for-sale securities, excluding other-than-temporary impairments, have been recorded in &#x2018;Accumulated other comprehensive loss&#x2019; in our consolidated balance sheets.</us-gaap:FairValueOfFinancialInstrumentsPolicy>
    <us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock contextRef="c-1" id="f-785">The components of our cash, cash equivalents, and investments as of June&#160;30, 2026 are as follows (in thousands): &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&gt;&lt;td style="width:19.221%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.204%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.204%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.204%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.210%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="33" style="border-bottom:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;As of June&#160;30, 2026&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Fair Value Measurement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Balance Sheet Classification&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Fair Value Level&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Cost Basis&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrealized Losses&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Fair Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Cash and Cash Equivalents&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Short-Term Investments and Marketable Securities&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cash&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;110,660&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;110,660&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;110,660&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Money market fund&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,451&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,451&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;10,451&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;U.S. Treasury bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;28,418&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(57)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;28,361&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;28,361&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,250&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(3)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,247&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4,247&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Corporate bonds&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;14,175&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(28)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;14,147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;14,147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 7pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total investments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;167,954&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;(88)&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;167,866&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;121,111&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;46,755&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:10pt;font-weight:400;line-height:120%"&gt;At December&#160;31, 2025, our investments consisted of the following (in thousands):&lt;/span&gt;&lt;/div&gt;&lt;div style="text-indent:18pt"&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"&gt;&lt;tr&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:18.052%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:10.011%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.204%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.204%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.530%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:11.326%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.204%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:0.384%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td style="width:1.0%"&gt;&lt;/td&gt;&lt;td style="width:12.941%"&gt;&lt;/td&gt;&lt;td style="width:0.1%"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="33" style="border-bottom:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;As of December&#160;31, 2025&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="21" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Fair Value Measurement&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="9" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Balance Sheet Classification&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Fair Value Level&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Cost Basis&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Unrealized Gains&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Fair Value&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:bottom"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Cash and Cash Equivalents&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:bottom"&gt;&lt;div style="text-align:center"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:700;line-height:100%"&gt;Short-Term Investments and Marketable Securities&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;div&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Cash&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;118,297&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;118,297&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;118,297&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;$&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Money market fund&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Level 1&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;17,513&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;17,513&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;17,513&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;U.S. Treasury bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;26,627&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;22&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;26,649&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;26,649&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Commercial paper&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,147&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;4&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,151&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#ffffff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;6,151&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Corporate bonds&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 1pt;text-align:center;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Level 2&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;18,599&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;16&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;18,615&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;&#x2014;&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#cceeff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="2" style="background-color:#cceeff;padding:2.62pt 0 1.5pt 1pt;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;18,615&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#cceeff;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:2.62pt 1pt 1.5pt 7pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;Total investments&lt;/span&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;187,183&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;42&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;187,225&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;135,810&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="background-color:#ffffff;padding:0 1pt"&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 0 1.5pt 1pt;text-align:left;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;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:2.62pt 0 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;span style="color:#000000;font-family:'Tahoma',sans-serif;font-size:9pt;font-weight:400;line-height:100%"&gt;51,415&#160;&lt;/span&gt;&lt;/td&gt;&lt;td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2.62pt 1pt 1.5pt 0;text-align:right;vertical-align:middle"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;td colspan="3" style="display:none"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:DebtSecuritiesAvailableForSaleTableTextBlock>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-199" decimals="-3" id="f-786" unitRef="usd">110660000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure contextRef="c-199" decimals="-3" id="f-787" unitRef="usd">110660000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-200" decimals="-3" id="f-788" unitRef="usd">110660000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-201" decimals="-3" id="f-789" unitRef="usd">10451000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure contextRef="c-201" decimals="-3" id="f-790" unitRef="usd">10451000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-202" decimals="-3" id="f-791" unitRef="usd">10451000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-203" decimals="-3" id="f-792" unitRef="usd">28418000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-203" decimals="-3" id="f-793" unitRef="usd">57000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="c-203" decimals="-3" id="f-794" unitRef="usd">28361000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="c-204" decimals="-3" id="f-795" unitRef="usd">28361000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-205" decimals="-3" id="f-796" unitRef="usd">4250000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-205" decimals="-3" id="f-797" unitRef="usd">3000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="c-205" decimals="-3" id="f-798" unitRef="usd">4247000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="c-206" decimals="-3" id="f-799" unitRef="usd">4247000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-207" decimals="-3" id="f-800" unitRef="usd">14175000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-207" decimals="-3" id="f-801" unitRef="usd">28000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="c-207" decimals="-3" id="f-802" unitRef="usd">14147000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="c-208" decimals="-3" id="f-803" unitRef="usd">14147000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:CashCashEquivalentsAndShortTermInvestments contextRef="c-4" decimals="-3" id="f-804" unitRef="usd">167954000</us-gaap:CashCashEquivalentsAndShortTermInvestments>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="c-4" decimals="-3" id="f-805" unitRef="usd">88000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
    <appn:CashAndCashEquivalentsAndShortTermInvestmentsFairValueDisclosure contextRef="c-4" decimals="-3" id="f-806" unitRef="usd">167866000</appn:CashAndCashEquivalentsAndShortTermInvestmentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-4" decimals="-3" id="f-807" unitRef="usd">121111000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="c-4" decimals="-3" id="f-808" unitRef="usd">46755000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-209" decimals="-3" id="f-809" unitRef="usd">118297000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure contextRef="c-209" decimals="-3" id="f-810" unitRef="usd">118297000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-210" decimals="-3" id="f-811" unitRef="usd">118297000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-211" decimals="-3" id="f-812" unitRef="usd">17513000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsFairValueDisclosure contextRef="c-211" decimals="-3" id="f-813" unitRef="usd">17513000</us-gaap:CashAndCashEquivalentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-212" decimals="-3" id="f-814" unitRef="usd">17513000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-213" decimals="-3" id="f-815" unitRef="usd">26627000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-213" decimals="-3" id="f-816" unitRef="usd">22000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="c-213" decimals="-3" id="f-817" unitRef="usd">26649000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="c-214" decimals="-3" id="f-818" unitRef="usd">26649000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-215" decimals="-3" id="f-819" unitRef="usd">6147000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-215" decimals="-3" id="f-820" unitRef="usd">4000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="c-215" decimals="-3" id="f-821" unitRef="usd">6151000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="c-216" decimals="-3" id="f-822" unitRef="usd">6151000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="c-217" decimals="-3" id="f-823" unitRef="usd">18599000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-217" decimals="-3" id="f-824" unitRef="usd">16000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="c-217" decimals="-3" id="f-825" unitRef="usd">18615000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="c-218" decimals="-3" id="f-826" unitRef="usd">18615000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:CashCashEquivalentsAndShortTermInvestments contextRef="c-5" decimals="-3" id="f-827" unitRef="usd">187183000</us-gaap:CashCashEquivalentsAndShortTermInvestments>
    <us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="c-5" decimals="-3" id="f-828" unitRef="usd">42000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
    <appn:CashAndCashEquivalentsAndShortTermInvestmentsFairValueDisclosure contextRef="c-5" decimals="-3" id="f-829" unitRef="usd">187225000</appn:CashAndCashEquivalentsAndShortTermInvestmentsFairValueDisclosure>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="c-5" decimals="-3" id="f-830" unitRef="usd">135810000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="c-5" decimals="-3" id="f-831" unitRef="usd">51415000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
    <us-gaap:InvestmentIncomeInterest contextRef="c-18" decimals="-5" id="f-832" unitRef="usd">1500000</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest contextRef="c-1" decimals="-5" id="f-833" unitRef="usd">3000000.0</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest contextRef="c-19" decimals="-5" id="f-834" unitRef="usd">2000000.0</us-gaap:InvestmentIncomeInterest>
    <us-gaap:InvestmentIncomeInterest contextRef="c-20" decimals="-5" id="f-835" unitRef="usd">3600000</us-gaap:InvestmentIncomeInterest>
    <ecd:NonRule10b51ArrTrmntdFlag contextRef="c-18" id="f-836">false</ecd:NonRule10b51ArrTrmntdFlag>
    <ecd:Rule10b51ArrTrmntdFlag contextRef="c-18" id="f-837">false</ecd:Rule10b51ArrTrmntdFlag>
    <ecd:NonRule10b51ArrAdoptedFlag contextRef="c-18" id="f-838">false</ecd:NonRule10b51ArrAdoptedFlag>
    <ecd:Rule10b51ArrAdoptedFlag contextRef="c-18" id="f-839">false</ecd:Rule10b51ArrAdoptedFlag>
</xbrl>
